mysql对表的修改,复制与删除

mysql对表的修改,复制与删除

ID:11296633

大小:37.50 KB

页数:4页

时间:2018-07-11

mysql对表的修改,复制与删除_第1页
mysql对表的修改,复制与删除_第2页
mysql对表的修改,复制与删除_第3页
mysql对表的修改,复制与删除_第4页
资源描述:

《mysql对表的修改,复制与删除》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Mysql对表的修改,复制与删除MySQL表的复制创建表的副本:创建一个完全和上表表结构一样,数据也一样的新表,即直接复制原表的表结构可以用如下SQL语句/*用子查询,创建表,表的结构呢完全和nickname一致,并且数据也相同*/createtablenew_nicknameselect*fromnickname;只创建含有特定字段的表副本:有的时候呢,我需要一个新表,只需要有昵称表的name与desc两个字段即可,不需要id字段,同样使用子查询,不过不再是select*而是直接select想要的字段即可/*因为只想要name和desc字

2、段,所以我只查询原表的这两个字段即可*/createtablenew_nicknameselectname,descfromnickname;只创建含有约束条件的值的表副本:比如说,突然间我只想要那个id<3的昵称表的所有数据咋办呢?(我不是矫情啊,是为了举例啊!)这个时候,我们就需要为子查询加上条件限制,where语句大家没有忘吧?/*限定条件,只要id<3的数据*/createtablenew_nicknameselect*fromnicknamewhereid<3;只复制表结构,咱爷们不要表数据:有的时候呢,我只想复制旧表的表结构,至

3、于里面的数据呢?已经old了,我是不想要的,即我只想复制一个表的表结构,这个时候咋办呢?别怕,我教你三种方法,均可解决此问题。/*和上面复制特定数据一样,只不过呢,咱这个条件弄个恶心点的,当0=1的时候我才要你的数据,显然不会复制任何数据了*/createtablenew_nicknameselect*fromnicknamewhere0=1;上面的方法是取巧,因为没有合格的数据符合限制条件,所以被复制的当然只有表结构了。另外MySQL提供了一个现成的语法,那就是:createtablenew_table_namelikeold_table

4、_name;/*应用createtablelike语法,只复制表结构*/createtablenew_nicknamelikenickname;第三种方法就是用咱们之前取过外键key_id的方法,显示创建表时的SQL语句然后复制,显示建表语句的方法为:showcreatetabletable_name;复制旧表部分结构,同时增加新字段:人都要创新嘛,社会在进步,如果还停留不前的话是会淘汰的,所以咱也不能单纯的复制,也要有点自己的个性,在我的地盘听我的嘛。比如说复制昵称表的同时呢,我要创建一个新的字段,就是昵称创建日期字段。嗯。/*咱也个性点

5、,新字段咋的也得先声明一下,再复制想要的那部分字段,嘿嘿*/createtablenew_nickname(create_timedatenotnull,statusenum('1','2'))selectname,descfromnickname;MySQL表的修改修改表结构语法:ALTER[IGNORE]TABLEtbl_namealter_spec[,alter_spec...]alter_specification:ADD[COLUMN]create_definition[FIRST

6、AFTERcolumn_name]orADDIN

7、DEX[index_name](index_col_name,...)orADDPRIMARYKEY(index_col_name,...)orADDUNIQUE[index_name](index_col_name,...)orALTER[COLUMN]col_name{SETDEFAULTliteral

8、DROPDEFAULT}orCHANGE[COLUMN]old_col_namecreate_definitionorMODIFY[COLUMN]create_definitionorDROP[COLUMN]col_nameorDROP

9、PRIMARYKEYorDROPINDEXindex_nameorRENAME[AS]new_tbl_nameortable_optionsMySQL可以使用ALTERTABLE语法来更改已存在的表,它允许在不重建整个表的情况下,添加删除或者修改表字段。其完整结构为:ALTERTABLEtable-name(actionfield-definition,actionfield-definition,….);这里面的action包括关键字:ADD,DROP,ALTER或者是CHANGE中的任何一个,而且后面跟的是与创建表CREATETABLE

10、命令使用的相同的字段定义。这个定义包含要修改的字段的名字和由新字段名字、类型和约束组成的字段定义。向表中添加新字段:这回咱也不复制表了,搞的那么郁闷干什么?咱直接在昵称表上面更改

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。