添加数据
insert into 表名[(列1,列2,...,列n)] values (值1,值2,...,值n), (值1,值2,...,值n),...;
value中的值为要添加的值,对应前面定义的列名;
如果前面不限制列名,就要和表格里面所有列匹配,且顺序一致;
values后面每个括号代表一行的数据,可同时添加多行;
删除
delete from 表名 [where 条件判断];
where为条件控制,如果没有,则默认对全表操作;
判断运算符:
AND和OR可以分别用&&和||代替,但是不推荐使用
注意和表格删除列的语句区分:alter table drop 列名;
修改
update 表名 set 列名1=值1,列名2=值2,...[where 条件判断]
与delete语句类似,where条件判断可以不写,但是将会默认对全表进行操作;
可以同时修改同一行的多列,用,分割即可
外键约束
外键约束发生在两表之间,含义为被外键约束连接的两表中的两列数据,从表列中的数据只能是主表列中存在的数据(可以近似认为时JAVA中的枚举应用);
建立了外键约束后,从表删除之前,主表不能被删除,且关联的主表列中的数据如果被从表引用了,就不能被删除;
创建表时指定:
mysql> create table if not exists maintab(
-> id int unsigned auto_increment primary key,
-> name varchar(20) not null default '匿名'
-> );
mysql> create table if not exists subtab(
-> cid int unsigned auto_increment primary key,
-> cname varchar(20) not null,
-> sid int unsigned,
-> constraint sub_main foreign key (sid) references maintab (cid)
-> );
# 可以同时指定多个外键
删除外键:
alter table subtab drop foreign key sub_main;
表格创建完成后添加:
alter table subtab add constraint sub_main foreign key (sid) references maintab (id);