一、添加数据(INSERT)
1.1 选择插入
INSERT INTO 表名(列名 1 ,列名 2 ,列名 3.....) VALUES(值 1 ,值 2 ,值 3......);
1.2 默认值处理(DEFAULT)
在 MySQL 中可以使用 DEFAULT 为列设定一个默认值。如果在插入数据时并未指定该列的值,那么 MySQL 会将默认值添加到该列中。
① 创建表时指定列的默认值
CREATE TABLE 表名(列名 类型 DEFAULT 默认值,......);
② 修改表添加新列并指定默认值
ALTER TABLE 表名 ADD COLUMN 列名 类型 DEFAULT 默认值;
③ 使用Navicat设置默认值
1.3 完整插入
INSERT INTO 表名 VALUES(值 1 ,值 2 ,值 3......);
此种方法注意:
如果主键是自动增长,那么主键位置需要用 default 或者 null 或者 0 占位。
插入数据注意细节:
- 插入的数据应与字段的数据类型相同
- 插入数据的长度应在列所规定的范围之内
- 在values中列的数据位置必须与被加入的列的排列位置相对应
- 字符串(字符)和日期型数据应包含在单引号中
- 列可以插入NULL 【前提是该字段允许为NULL】
- 如果是给表中的所有字段添加数据,可以不写前面的字段名称
- 默认值的使用,当不给某个字段值时,如果有默认值就会添加,否则报错
二、更新数据(UPDATE)
UPDATE 表名 SET 列名=值,列名=值 WHERE 条件;
注意:
更新语句中一定要给定更新条件,否则表中的所有数据都会被更新。
三、删除数据(DELETE)
DELETE FROM 表名 WHERE 条件;
注意:
在DELETE语句中,如果没有给定删除条件则会删除表中的所有数据。
四、TRUNCATE 清空表
TRUNCATE TABLE 表名;
DELETE与 TRUNCATE 区别
- truncate 是整体删除(速度较快), delete 是逐条删除(速度较慢);
- truncate 不写服务器 log,delete 写服务器 log,也就是 truncate 效率比 delete 高的原因;
- truncate 是会重置自增值,相当于自增列会被置为初始值,又重新从 1 开始记录,而不是接着原 来的值。而 delete 删除以后, 自增值仍然会继续累加。