【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

扫描二维码关注公众号,回复: 3901883 查看本文章

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
今日推荐