MySQL增删改查之——增和删
增部分:蓝色部分为可选
一、增加字段
alter [表名] add [字段名] [字段类型] [first 或者是 after [字段名] ]
例:alter table user add birthday date not null default "0000-00-00";
二、插入数据
insert into [表名] ( [ [字段1] [字段2]...] ) values ( [值1] ,[值2] ...) , ( [值1] ,[值2] ...) ....
例:insert into user (name,age) values ('本拉登', 53), ('奥巴马', 52); insert into 只能插入,不能替换
insert into user select * from user_bak; 把表user_bak里的数据全部插入到user里面,但这两个表的结构要一样,备份还原用
但如果user表里的有跟user_bak相同的主键索引,那么插入会失败,此时可用replace
replace into user select * from user_bak; user 表中没有的就插入,有的就替换
update [表名] set [字段名1] = [值], [字段名2] = [值].......; 这个对于只插入单个数据来说比insert into方便 ,如果有的可以更新
三、添加主键
ALTER TABLE 【表名】 ADD CONSTRAINT PK_SJ_RESOURCE_CHARGES PRIMARY KEY (resid,resfromid)
四、添加索引
ALTER TABLE [表名] add index INDEX_NAME ([索引名]);
五、添加唯一限制条件索引
ALTER TABLE sj_resource_charges add unique emp_name2(cardnumber);
删部分: 执行的速度 drop>truncate>delete
删除数据库和表
drop database [库名]
drop table [表名1],[表名2] 这个可以同时删除多个表 这个删除表之后,导出后看不到删除表的日志记录
truncate [表名] (这个是清空数据,但是表结构还保留),速度快,无日志记录的方法,不利于日志恢复
delete from [表名] 这个也是清空数据,但是表结构(字段及类型)还保留,也可以通过日志查看删除之前的插入修改记录,空间要手动释放
删除表字段[列]
alter [表名] drop [字段名]
删除主键
alter [表名] drop primary key
删除表中的行(内容)
delete from [表名] where [条件] 不加条件直接删除表
删除索引
alter table 【表名】 drop index 【索引名】;