【MySQL】数据表的基本操作

 

目录

4.1.1  创建表的语法形式

4.1.2  使用主键约束

4.1.3  使用外键约束

4.1.4  使用非空约束

4.1.5  使用唯一性约束

4.1.6  使用默认约束

4.1.7  设置表的属性值自动增加

4.2.1  查看表基本结构语句DESCRIBE

4.2.2  查看表详细结构语句SHOW CREATE TABLE

4.3.1  修改表名

4.3.2  修改字段的数据类型

4.3.3  修改字段名

4.3.4  添加字段

4.3.5  删除字段

4.3.6  修改字段的排列位置

4.3.7  更改表的存储引擎

4.3.8  删除表的外键约束

4.4.1  删除没有被关联的表

4.4.2  删除被其它表关联的主表


4.1.1  创建表的语法形式

创建数据表的语句为 CREATE  TABLE。

 

      CREATE  TABLE <表名>

      (

       列名1,数据类型 [列级别约束条件] [默认值],

       列名2,数据类型 [列级别约束条件] [默认值],

       ……

       [表级别约束条件]

       );

 

4.1.2  使用主键约束

主键,又称主码,是表中一列或多列的组合。主键约束(Primary Key constraint)要求主键列的数据唯一,并且不允许为空。

 

单字段主键

       字段名 数据类型 PRIMARY KEY [默认值]

              [约束名] primary key(字段)

 

多字段联合主键

       PRIMARY KEY [字段1, 字段2,. . ., 字段n]

 

 

 

4.1.3  使用外键约束

外键用来在两个表的数据之间建立链接,它可以是一列或者多列。一个表可以有一个或多个外键。一个表的外键可以为空值,若不为空值,则每一个外键值必须等于另一个表中主键的某个值。

 

      [CONSTRAINT <外键名>] FOREIGN KEY 从表列名1 [ ,列名2,…]

       REFERENCES <主表名> 主键列1 [ ,主键列2,…]

 

 

4.1.4  使用非空约束

非空约束(Not Null constraint)指字段的值不能为空。对于使用了非空约束的字段如果用户在添加数据时,没有指定值,数据库系统会报错。

 

      字段名 数据类型 not null

 

 

4.1.5  使用唯一性约束

唯一性约束(Unique Constraint)要求该列唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列不出现重复值。

 

      字段名 数据类型 UNIQUE

 

 

 

4.1.6  使用默认约束

默认约束(Default Constraint)指定某列 的默认值。

 

      字段名 数据类型 DEFAULT 默认值

 

4.1.7  设置表的属性值自动增加

在数据库应用中,经常希望在每次插入新记录时,系统就会自动生成字段的主键值。可以通过为表主键添加AUTO_INCREMENT关键字来实现。一个表只能有一个字段使用AUTO_INCREMENT约束,且该字段必须为主键的一部分

    字段名 数据类型 AUTO_INCREMENT

       ALTER TABLE 表名 AUTO_INCREMENT = 设定的值

 

4.2.1  查看表基本结构语句DESCRIBE

该语句可以查看表的字段信息,其中包括:字段名、字段数据类型、是否为主键、是否有默认值等。

 

DESCRIBE <表名>

或者简写:

DESC <表名>

 

4.2.2  查看表详细结构语句SHOW CREATE TABLE

语句可以用来显示数据表的创建语句。

 

      SHOW CREATE TABLE <表名\G>

 

 

修改表alter table 表名 rename/modify/change/add/drop 字段 字段类型 [约束]

修改表名

ALTER TABLE <旧表名> RENAME [TO] <新表名>;

数据类型

AT <表名> MODIFY <字段名>  <新数据类型>

字段名

AT <表名> CHANGE <旧字段名> <新字段名> <新数据类型>;

添加字段

AT<表名> ADD <新字段名> <数据类型> [约束条件] [FIRST | AFTER 已存在字段名];

删除字段

ALTER TABLE <表名> DROP <字段名>;

排列位置

AT <表名> MODIFY <字段1> <数据类型> [约束]  FIRST|AFTER <字段2>;

储引擎

ALTER TABLE <表名> ENGINE=<更改后的存储引擎名>;

键约束

ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>

删除表

没关联的表:DROP TABLE [IF EXISTS]表1, 表2, . . . 表n;

删有关联主表:

1.删从表外键:ALTER TABLE 从表DROP FOREIGN KEY 外键约束名;

2.删主表:DROP TABLE 主表;

 

 

4.3.1  修改表名

MySQL是通过ALTER TABLE语句来实现表名的修改的。

 

      ALTER TABLE <旧表名> RENAME [TO] <新表名>;

 

4.3.2  修改字段的数据类型

修改字段的数据类型,就是把字段的数据类型转换成另一种数据类型。

 

      ALTER TABLE <表名> MODIFY <字段名>  <新数据类型>

 

4.3.3  修改字段名

MySQL中修改表字段名的语法规则如下:

 

      ALTER TABLE <表名>

       CHANGE <旧字段名> <新字段名> <新数据类型>;

 


4.3.4  添加字段

在已经存在的表中添加新的字段。

 

      ALTER TABLE <表名>

       ADD <新字段名> <数据类型>

       [约束条件] [FIRST | AFTER 已存在字段名];

 


4.3.5  删除字段

删除字段是将数据表中的某个字段从表中移除。

 

      ALTER TABLE <表名> DROP <字段名>;

 


4.3.6  修改字段的排列位置

ALTER TABLE来改变表中字段的相对位置。

 

      ALTER TABLE <表名>

       MODIFY <字段1> <数据类型>  FIRST|AFTER <字段2>;

       这里也可以修改字段的类型,约束条件。

 

4.3.7  更改表的存储引擎

在MySQL中,存储引擎是指MySQL数据库中表的存储类型。可以根据自己的需要,选择不同的引擎,甚至可以为每一张表选择不同的存储引擎。

 

         SHOW ENGINES 查看系统支持的存储引擎;

       SHOW CREATE TABLE 可查看表的引擎;

      ALTER TABLE <表名> ENGINE=<更改后的存储引擎名>;


4.3.8  删除表的外键约束

对于数据库中定义的外键,如果不再需要,可以将其删除。外键一旦删除,就会解除主表和从表间的关联关系。

          

      ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>

 

 

4.4.1  删除没有被关联的表

MySQL中,使用DROP TABLE可以一次删除一个或多个没有被其它表关联的数据表。

         

      DROP TABLE [IF EXISTS]表1, 表2, . . . 表n;

 

4.4.2  删除被其它表关联的主表

在数据表之间存在外键关联的情况下,如果直接删除父表,结果会显示失败,原因是直接删除,将破坏表的参照完整性。如果必须要删除,可以先删除与之关联的子表,再删除父表。但是这样同时删除了两个表中的数据。

 

但有的情况下可能要保留子表,这时如要单独删除父表,只需将关联的表的外键约束条件取消,然后就可以删除父表。

ALTER TABLE 从表DROP FOREIGN KEY 外键约束名;

DROP TABLE 主表;

 

 

 

猜你喜欢

转载自blog.csdn.net/dreamengsoul/article/details/83052223