选择插入
语法:
insert into 表名(列名1, 列名2, ...) values(值1, 值2, ...);
例子:
创建一个表,名称为departments,字段名为department_id,department_name,location_id。
create table departments(department_id
int,department_name
varchar(30),location_id int);
将department_id改为主键约束,并为主键自增长。
alter table departments modify
department_id int auto_increment;
在departments表中的department_name、location_id字段插入market
、1
。
insert into departments(department_name, location_id) values ('market', 1);
完全插入
语法:
insert into 表名 values(值1,值2,...);
注意:
- 值的顺序需要和表中字段顺序相同。
- 如果主键是自动增长,需要使用 default 或者 null 或者 0 占位。
例子:
insert into departments values(default,'研发部',2);
insert into departments values(null,'财务部',2);
insert into departments values(0,'教学部',2);
同时插入多条数据
例子:
insert into departments values(0,'教学部',2),(0,'stuentds',2);
可以给某列设定默认值,在插入数据时并没有指定该列的值,那么MySQL会将插入默认值。
创建表时指定列的默认值
create table 表名(列名 类型 default 默认值, ...);
例子:
创建表school,字段名class_id为主键自增长,class_name,num_students。
create table school(class_id int primary key auto_increment,
class_name varchar(15), num_students int(10) default 0);
修改表添加新列并指定默认值
语法:
alter table 表名 add column 列名 类型 default 默认值;
例子:
在school表中添加is_h列并设置默认值Unknown。
alter table school add column is_h varchar(10) default 'Unknown';
注意:如果在选择插入
时未指定列,其它列会自动按默认值处理,完全插入
时则需要使用default来占位。
例子:
insert into school(class_name) values('大一物联网1班');
insert into school values(default,'大二物联网2班',default,default);
语法:
update school set 列名=值1, 列名=值1,... where 条件;
例子:
将school表中的class_id为2的is_h字段改为是
update school set is_h='是' where class_id=2;
注意:
MySQL会修改所有满足条件的数据。
删除表中数据
语法:
delete from 表名 where 条件;
例子:
删除school表中class_id=2的信息
delete from school where class_id=2;
清空表的数据
语法:
truncate table 表名;
例子:
truncate table school;
delete与truncate的区别