mysql 增删改查总结

253 阅读2分钟

当表已经创建了,数据也有了怎么修改?

修改表

  • 改字段名,字段类型可以改也可以不改,其 SQL 语法如下:

    ALTER TABLE table CHANGE oldcolname newcolname type;
    
  • 不改字段名而只修改字段类型,其 SQL 语法如下:

    ALTER TABLE tableName MODIFY colname newtype;
    
  • 添加字段语法如下:

    ALTER TABLE tableName ADD colname type;
    
  • 删除字段语法如下:

    ALTER TABLE tableName DROP colname;
    

删除表

  • DROP TABLE 不仅仅删除表的内容、而且会删除表的结构并释放空间。通俗的讲就是整个表以及表中数据全部删除,想再次操作这张表已经不可能,只有重新去创建一个。
  • DELETE FROM table 删除的是表中的数据,就是清空表,表结构本身不变。系统需要一行一行的去删除数据,效率低下。 截断表的作用和 DELETE FROM 语句类似,删除表中所有的数据。截断表使用的语句是 TRUNCATE TABLE 。它和 DELETE FROM 区别在于,TRUNCATE TABLE 语句是数据定义语句,提交后不会产生回滚信息,所以它的速度更快。

其语法如下:

TRUNCATE TABLE tablename;

添加约束

非空

ALTER TABLE 表名 CHANGE COLUMN 字段名 字段名 属性 NOT NULL;    # 添加非空约束

主键

ALTER TABLE 表名 MODIFY 字段名 字段类型 PRIMARY KEY;

默认值

ALTER TABLE 表名  MODIFY 字段名 类型 DEFAULT '默认值';

唯一值

ALTER TABLE 表名 ADD CONSTRAINT UNIQUE(字段名);

外键

ALTER TABLE 表名 ADD FOREIGN KEY (字段名) REFERENCES 另外一个表(另外一个表的字段名)

修改数据

其基本语法形式如下:

UPDATE table SET column1 = value1, column2 = value2 [WHERE子句]

UPDATE 和 SET 是该语法的固定关键字。其中 table 表示的是表名,column1、column2 表示的是要修改的字段名,value1、value2 表示的是修改后的值。

添加

INSERT 语句用于向表中插入新的记录。其基本语法形式如下:

INSERT INTO table[(column1, column2…)] VALUES (value1, value2…)

其中 table 是表名;column1, column2… 是表中的字段名列表,用 , 隔开;value1, value2… 是字段对应的值列表。

删除

DELETE FROM table [WHERE…]

其中 table 表示表名,如果 DELETE 语句中不写 WHERE 子句,那么删除的将会是表中的所有数据。