所在的位置: mysql >> mysql资源 >> MySQL表结构由你定义

MySQL表结构由你定义

北京中科医院是怎么样 http://m.39.net/pf/a_5212066.html

前言

数据库的DDL(datadefinelanguage)操作,主要是用在定义或者改变表结构、数据类型、表之间的链接关系和约束等初始化工作。一般在的时候会先自动提交之前没有提交的事务,然后在操作。

MySQL中操作表的DDL语句

1、创建表

CREATETABLEtable_name(col1type[,col2type,....]))ENGINE=存储引擎DEFAULTCHARACTER=字符集COLLATE=校对规则;

例如:

CREATETABLEt1(idint,namevarchar(32))ENGINE=InnoDBDEFAULTCHARSET=utf8COLLATE=utf8_bin;

注意:一般ENGINE=存储引擎DEFAULTCHARACTER=字符集COLLATE=校对规则这些都会有默认的参数,如果没有指定就会按照默认参数进行创建。

2、删除表

DROPTABLEtable_name;

例如:

DROPTABLEtest.t1;

删除test数据库里面的t1表。

3、清空表数据

TRACATETABLEtest.t1;

清空test数据库t1表的数据。

4、复制表

CREATETABLEnew_table_nameSELECT*FROMtable_name;

例如:

CREATETABLEt1_SELECT*FROMt1;

这个经常在修改某张表的时候,进行快速的备份,如果修改不成功可以马上还原回去。

5、增加列

ALTERTABLEtable_nameADDCOLUMNcol_nametype;

例如:

ALTERTABLEt1ADDCOLUMNageintdefault0;

一般随着业务的需求,会有增加字段的需求。

6、删除列

ALTERTABLEtable_nameDROPcol_name;

例如:

ALTERTABLEt1DROPage;

一般是不需要删除,不想用就放着不用就好了。

7、、修改列名

ALTERTABLEtablenameCHAGEoldnewnewtype;

例如:

ALTERTABLEt1CHANGEagelearn_classvarchar(32);

不仅可以修改成名也可以修改类型,如果遇到可以转换的数值或者字符串就直接转换,如果不能转换就设置成类型默认值。数据量大操作会很慢哦。

8、修改列的类型

ALTERTABLEtable_nameMODIFYcolumne1newtype;

例如:

ALTERTABLEt1MODIFYlearn_classint;

总结

在生产环境中,很少对表字段进行修改或者删除了,会引起锁表的,慎操作,建议在临时表操作,然后再rename。




转载请注明:http://www.aierlanlan.com/rzgz/3485.html