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 【索引名】;

 

 

posted @ 2013-05-06 14:39  斯世轻尘  阅读(199)  评论(0编辑  收藏  举报