DML(Data Manipulation Language)数据操纵语言,通俗来说就是直接对表里的数据进行增,删,改操作
insert into 表名 (字段名1,字段名2,字段名3) values (值1,值2,值3);
如果不指定字段则默认是全部字段都进行赋值
也可以同时插入多行数据,例如
insert into 表名 (字段名1,字段名2,字段名3) values (值1,值2,值3),(值1,值2,值3),(值1,值2,值3);
delete from 表名 [where 条件语句];
没有条件语句默认全部删除
也可以使用truncate来删除
truncate table 表名;
truncate相当于将表删除,然后重新创建一个一模一样的的表,对于拥有自动增长字段的表,可以删除增长字段的值。
update 表名 set 字段名 = 值 [where 条件语句];
没有条件语句则该字段所有的数据都改为该值
primary key //主键约束,一个表里面只能有一个,有该约束的字段的值不能为空也不能重复
写法
create table 表名( id int primary key, name varchar(20), sex varchar(2) );
或
create table 表名( id int, name varchar(20), sex varchar(2), constraint 该约束的名字 primary key(id) );
其中constraint和名字可以省略
也可以多字段组成联合主键,将两个或多个值看作是一个整体
create table 表名( id int, firstname varchar(20), lastname varchar(20) constraint 该约束的名字 primary key(firstname,lastname) );
删除主键
alter table 表名 drop primary key;
not null //可以有多个,被约束的字段的值不能为空
unique //可以有多个,被约束的字段的值不能重复
foreign key //在多表中使用,用来和其他表进行连接
auto_increment //用于是数字类型的字段,插入数据时该字段的值自动加1,必须放在主键后
改变起始值
create table student3( id int auto_increment, name varchar(20), age int default(2), sex varchar(10) )auto_increment = 10; //从10开始增长
拥有auto_increment字段后,delete只能删掉数据,但无法清除编号,例如,现在编号为20,使用delete删除所有数据,再添加一条数据,该数据的编号不是1而是21
字段的约束都可以通过alter来进行增,删,改