03数据的操作
01插入数据
语法:
insert into `表名` (字段名1,字段名2) values (值1,值2) , (值1,值2);
注意点:
- 如果你插入的值、备注有中文,那么中文一定要用单引号引起来,数据库是不允许使用双引号的。换句话说数据库中的字符串要用单引号引起来。
- 插入数据既可以只插入一条数据,也可以同时插入多条数据。
- 插入数据,如果你写字段名了。
insert
语句中的字段名可以按照数据库默认的字段名顺序(即表头的默认顺序)写,也可以不按照。但是值的顺序必须按照insert
语句中的字段名顺序。 - 插入数据时,你可以插入所有的字段值,你也可以某些字段不插入值,前提是这些字段可以为空值。
- 对于自增属性的字段,你可以插入具体值,也可以插入null或不插入,让其自增。
- 插入数据,如果你所有字段都插入值,并且是按照数据库默认的字段顺序(即表头的默认顺序)插入的。
insert
语句中的第一个括号可以省略不写,即(字段名1,字段名2)
可以不写。如果某个值是自增的,你不能省略,必须写上null或者具体值,目的是占位。 - 对于有默认值的,你若想让其自动填默认值,需要在值上写
default
。
第六条举例:
insert into `表名` values (null , 值2 , ...) ;
02更新(改)数据
语法:
update `表名` ste `字段名1` = 值1 , 字段名2 = 值2 [wherer条件];
说明:where条件决定你修改的数据,符合where条件就修改,如果不加where条件就都修改,后果很严重,所以一定要注意。
例如:修改id为1的数据name为Tom。
update `student` ste `name` = Tom where id = 1;
03删除数据
语法:
delete from `表名` [where条件];
04清空数据
语法:
truncate table `表名`;
truncate table 表名
与delete from 表名
表面上都把所有数据删除了,但有本质的区别:
前者相当于销毁表,并且创建一个没有数据的新表,插入数据从id=1开始,效率很高;后者相当于逐条便利delete删除,再插入数据id从上次删除的最后一个最大id+1,效率很低。
05复制表
语法一:
create table `新表` selct `字段` from `旧表`;
语法二:
create table `新表` like `旧表`;
区别:
语法一复制表和表中数据,但是不复制主键,复制后新表没有主键。
语法二只复制表的框架,复制主键,但不复制表中数据。