mysql建表语句主键自增mysql创建表详细步骤mysql创建主键自增的表




mysql建表语句主键自增mysql创建表详细步骤mysql创建主键自增的表

2022-07-21 2:27:08 网络知识 官方管理员

数据库有了后,就可以在库里面建各种数据表了。创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性(包括实体完整性、引用完整性和域完整性)约束的过程。后面也是通过SQL语句和Navicat两种方式进行数据表的创建。

【基本语法

在MySQL中,可以使用CREATETABLE语句创建表。其语法格式为:

CREATETABLE<表名>([表定义选项])[表选项][分区选项];

其中,[表定义选项]的格式为:

<列名1><类型1>[,…]<列名n><类型n>

CREATETABLE命令语法比较多,其主要是由表创建定义(create-definition)、表选项(table-options)和分区选项(partition-options)所组成的。

主要语法及使用说明如下:

  • CREATETABLE:用于创建给定名称的表;
  • <表名>:指定要创建表的名称,在CREATETABLE之后给出,必须符合标识符命名规则。表名称被指定为db_name.tbl_name,以便在特定的数据库中创建表。无论是否有当前数据库,都可以通过这种方式创建。在当前数据库中创建表时,可以省略db-name。
  • <表定义选项>:表创建定义,由列名(col_name)、列的定义(column_definition)以及可能的空值说明、完整性约束或表索引组成。

创建一个名字叫test_tb的表格,包括id、name、class、score四列,创建SQL语句如下↓

CREATETABLEtest_tb(idINT(11),NAMEVARCHAR(25),classINT(5),scoreFLOAT);

mysql建表语句主键自增(mysql创建表详细步骤)(1)

在MySQL中可以使用ALTERTABLE语句来改变原有表的结构,例如增加或删减列、更改原有列类型、重新命名列或表等。

语法格式如下:

ALTERTABLE<表名>[修改选项]修改选项的语法格式如下:{ADDCOLUMN<列名><类型>|CHANGECOLUMN<旧列名><新列名><新列类型>|ALTERCOLUMN<列名>{SETDEFAULT<默认值>|DROPDEFAULT}|MODIFYCOLUMN<列名><类型>|DROPCOLUMN<列名>|RENAMETO<新表名>|CHARACTERSET<字符集名>|COLLATE<校对规则名>}

【修改表名】

语法规则如下:

ALTERTABLE<旧表名>RENAME[TO]<新表名>;

TO为可选参数,使用与否均不影响结果。

使用ALTERTABLE将数据test_tb表改名为wangfalin,SQL语句和运行结果如下所示。

ALTERTABLEtest_tbRENAMETOwangfalin

mysql建表语句主键自增(mysql创建表详细步骤)(2)

【修改字段名称】

语法规则如下:

ALTERTABLE<表名>CHANGE<旧字段名><新字段名><新数据类型>;
  • 旧字段名:指修改前的字段名;
  • 新字段名:指修改后的字段名;
  • 新数据类型:指修改后的数据类型,如果不需要修改字段的数据类型,可以将新数据类型设置成与原来一样,但数据类型不能为空。

将class字段名称改为banji,同时将数据类型变为CHAR(10),SQL语句和运行结果如下↓

ALTERTABLEwangfalinCHANGEclassbanjiCHAR(10);

mysql建表语句主键自增(mysql创建表详细步骤)(3)

【删除字段】

语法格式如下:

ALTERTABLE<表名>DROP<字段名>;

其中,“字段名”指需要从表中删除的字段的名称。

删除score字段,语句如下↓

ALTERTABLEwangfalinDROPscore;

mysql建表语句主键自增(mysql创建表详细步骤)(4)

【删除数据表】

删除表的时候,表的结构和表中所有的数据都会被删除,因此在删除数据表之前最好先备份。

语法格式如下:

DROPTABLE[IFEXISTS]表名1[,表名2,表名3...]

对语法格式的说明如下:

  • 表名1,表名2,表名3...表示要被删除的数据表的名称。DROPTABLE可以同时删除多个表,只要将表名依次写在后面,相互之间用逗号隔开即可。
  • IFEXISTS用于在删除数据表之前判断该表是否存在。如果不加IFEXISTS,当数据表不存在时MySQL将提示错误,中断SQL语句的执行;加上IFEXISTS后,当数据表不存在时SQL语句可以顺利执行,但是会发出警告。
CREATETABLEtest_tb(idINT(11),NAMEVARCHAR(25),classINT(5),scoreFLOAT);0


发表评论:

最近发表
网站分类
标签列表