MySQL学习笔记 约束以及修改数据表

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介:

*** 约束保证数据的完整性和一致性

*** 约束分为表级约束和列级约束

*** 约束类型包括:

NOT NULL(非空约束)

PRIMARY KEY(主键约束)

UNIQUE KEY(唯一约束)

DEFAULT(默认约束)

FOREIGN KEY(外键约束)


1.外键约束的要求解析


*** 父表和子表必须使用相同的存储引擎,而且禁止使用临时表。

*** 数据表的存储引擎只能为InnoDB。

*** 外键列和参照列必须具有相似的数据类型。其中数字的长度或是否有符号位必须相同;而字符的长度则可以不同。

       主键是默认自带索引的  而外键列创建时一般参照的是带有主键那一列  因此如果外键列没有创建索引的话就会被MYSQL根据参照列的索引创建一个索引  

*** 外键列是不可以以一个没有索引的列作为参照列的

1.参照列必须要创建一个索引(如果用的是主键默认自带索引  所以不用创建)  

2.外键列随意  如果不创建索引会被创建

【1】编辑数据表的默认存储引擎,配置文件/etc/my.cnf

1
2
[mysqld]
default-storage-engine=INNODB

【2】 创建省份数据表,查看存储引擎

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
mysql> USE  test ;
mysql> CREATE TABLE provinces(
     ->  id  SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
     -> pname VARCHAR(20) NOT NULL
     -> );
mysql> SHOW CREATE TABLE provinces;
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                                                                        |
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tb0   | CREATE TABLE `provinces` (
   ` id ` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
   `pname` varchar(20) NOT NULL,
   PRIMARY KEY (` id `)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+

【3】创建用户数据表,其中外键列必须和参照列必须有相似的数据类型

1
2
3
4
5
6
mysql> CREATE TABLE  users (
     ->  id  SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
     -> username VARCHAR(10) NOT NULL,
     -> pid SMALLINT UNSIGNED,
     -> FOREIGN KEY (pid) REFERENCES provinces ( id )
     -> );
  • 注意:其中有外键列的users表为子表,有参照列id列provinces为父表

  • 创建主键时自动创建索引,查看父表自动创建的1个索引

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
mysql> SHOW INDEXES FROM provinces\G;
*************************** 1. row ***************************
        Table: provinces
   Non_unique: 0
     Key_name: PRIMARY
Seq_in_index: 1
  Column_name:  id
    Collation: A
  Cardinality: 0
     Sub_part: NULL
       Packed: NULL
         Null: 
   Index_type: BTREE
      Comment: 
1 row  in  set  (0.00 sec)
 
ERROR: 
No query specified
  • 若外键列没有索引,自动创建:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
mysql> SHOW INDEXES FROM  users \G;    
*************************** 1. row ***************************
        Table:  users
   Non_unique: 0
     Key_name: PRIMARY
Seq_in_index: 1
  Column_name:  id
    Collation: A
  Cardinality: 0
     Sub_part: NULL
       Packed: NULL
         Null: 
   Index_type: BTREE
      Comment: 
*************************** 2. row ***************************
        Table:  users
   Non_unique: 1
     Key_name: pid
Seq_in_index: 1
  Column_name: pid
    Collation: A
  Cardinality: 0
     Sub_part: NULL
       Packed: NULL
         Null: YES
   Index_type: BTREE
      Comment: 
2 rows  in  set  (0.00 sec)
 
ERROR: 
No query specified

2.外键约束的参照操作

*** cascade :从父表删除或更新且自动删除或更新子表中匹配的行

*** set null :从父表删除或更新行,并设置子表中的外键列为NULL。如果使用该选项,必须保证子表列没有指定NOT NULL

*** restrict :拒绝对父表的删除或更新操作

*** no action :标准的SQL的关键词,在MySQL中与restrict相同

CASCADE例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
mysql> CREATE TABLE provinces(
     ->  id  SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
     -> pname VARCHAR(20) NOT NULL
     -> );
 
mysql> CREATE TABLE users1(
     ->  id  SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
     -> username VARCHAR(10) NOT NULL,
     -> pid SMALLINT UNSIGNED,
     -> FOREIGN KEY (pid) REFERENCES provinces ( id ) ON DELETE CASCADE
     -> );
 
mysql> INSERT provinces(pname) VALUES( 'Tom' );
mysql> INSERT provinces(pname) VALUES( 'John' );
mysql> INSERT provinces(pname) VALUES( 'Driver' );
 
mysql> INSERT users1(username,pid) VALUES( 'Huang' ,2);
mysql> INSERT users1(username,pid) VALUES( 'Li' ,3);
mysql> INSERT users1(username,pid) VALUES( 'Pan' ,3);
mysql> INSERT users1(username,pid) VALUES( 'He' ,1); 
mysql> INSERT users1(username,pid) VALUES( 'Long' ,2);
mysql> SELECT * FROM users1;
+----+----------+------+
id  | username | pid  |
+----+----------+------+
|  1 | Huang    |    2 |
|  2 | Li       |    3 |
|  5 | Pan      |    3 |
|  6 | He       |    1 |
|  7 | Long     |    2 |
+----+----------+------+
mysql> SELECT * FROM provinces;              
+----+--------+
id  | pname  |
+----+--------+
|  1 | Tom    |
|  2 | John   |
|  3 | Driver |
+----+--------+
 
mysql> DELETE FROM provinces WHERE  id =3;
mysql> SELECT * FROM provinces;
+----+-------+
id  | pname |
+----+-------+
|  1 | Tom   |
|  2 | John  |
+----+-------+
mysql> SELECT * FROM users1;           
+----+----------+------+
id  | username | pid  |
+----+----------+------+
|  1 | Huang    |    2 |
|  6 | He       |    1 |
|  7 | Long     |    2 |
+----+----------+------+

3.表级约束和列级约束

*** 对一个数据列建立的约束,称为列级约束

*** 对多个数据列建立的约束,称为表级约束

*** 列级约束既可以在列定义时声明,也可以在列定义后声明

*** 表级约束只能在列定以后声明

4.修改数据表

添加单列

1
ALTER TABLE tbl_name ADD [COLUMN] col_name column_definition [FIRST|AFTER col_name]

        

  • 例:

1
2
3
4
5
6
7
8
mysql> SHOW COLUMNS FROM users1;
+----------+----------------------+------+-----+---------+----------------+
| Field    | Type                 | Null | Key | Default | Extra          |
+----------+----------------------+------+-----+---------+----------------+
id        | smallint(5) unsigned | NO   | PRI | NULL    | auto_increment |
| username | varchar(10)          | NO   |     | NULL    |                |
| pid      | smallint(5) unsigned | YES  | MUL | NULL    |                |
+----------+----------------------+------+-----+---------+----------------+

    

  • 添加age列到最后一列:

1
2
3
4
5
6
7
8
9
10
mysql> ALTER TABLE users1 ADD age TINYINT UNSIGNED NOT NULL DEFAULT 10;
     mysql> SHOW COLUMNS FROM users1;                                       
+----------+----------------------+------+-----+---------+----------------+
| Field    | Type                 | Null | Key | Default | Extra          |
+----------+----------------------+------+-----+---------+----------------+
id        | smallint(5) unsigned | NO   | PRI | NULL    | auto_increment |
| username | varchar(10)          | NO   |     | NULL    |                |
| pid      | smallint(5) unsigned | YES  | MUL | NULL    |                |
| age      | tinyint(3) unsigned  | NO   |     | 10      |                |
+----------+----------------------+------+-----+---------+----------------+

        

  • 添加password列到username列的后面:

1
2
3
4
5
6
7
8
9
10
11
mysql> ALTER TABLE users1 ADD password VARCHAR(32) NOT NULL AFTER username; 
mysql> SHOW COLUMNS FROM users1;                                           
+----------+----------------------+------+-----+---------+----------------+
| Field    | Type                 | Null | Key | Default | Extra          |
+----------+----------------------+------+-----+---------+----------------+
id        | smallint(5) unsigned | NO   | PRI | NULL    | auto_increment |
| username | varchar(10)          | NO   |     | NULL    |                |
| password | varchar(32)          | NO   |     | NULL    |                |
| pid      | smallint(5) unsigned | YES  | MUL | NULL    |                |
| age      | tinyint(3) unsigned  | NO   |     | 10      |                |
+----------+----------------------+------+-----+---------+----------------+
  • 添加truename列到第一列:

1
2
3
4
5
6
7
8
9
10
11
12
mysql> ALTER TABLE users1 ADD truename VARCHAR(32) NOT NULL FIRST;
mysql> SHOW COLUMNS FROM users1;                                           
+----------+----------------------+------+-----+---------+----------------+
| Field    | Type                 | Null | Key | Default | Extra          |
+----------+----------------------+------+-----+---------+----------------+
| truename | varchar(32)          | NO   |     | NULL    |                |
id        | smallint(5) unsigned | NO   | PRI | NULL    | auto_increment |
| username | varchar(10)          | NO   |     | NULL    |                |
| password | varchar(32)          | NO   |     | NULL    |                |
| pid      | smallint(5) unsigned | YES  | MUL | NULL    |                |
| age      | tinyint(3) unsigned  | NO   |     | 10      |                |
+----------+----------------------+------+-----+---------+----------------+

    删除列:

1
ALTER TABLE tbl_name(数据表名称) DROP [COLUMN] col_name(列名)

    

  • 例,删除truename列:

1
2
3
4
5
6
7
8
9
10
11
mysql> ALTER TABLE users1 DROP truename;
mysql> SHOW COLUMNS FROM users1;        
+----------+----------------------+------+-----+---------+----------------+
| Field    | Type                 | Null | Key | Default | Extra          |
+----------+----------------------+------+-----+---------+----------------+
id        | smallint(5) unsigned | NO   | PRI | NULL    | auto_increment |
| username | varchar(10)          | NO   |     | NULL    |                |
| password | varchar(32)          | NO   |     | NULL    |                |
| pid      | smallint(5) unsigned | YES  | MUL | NULL    |                |
| age      | tinyint(3) unsigned  | NO   |     | 10      |                |
+----------+----------------------+------+-----+---------+----------------+

同时删除age和password列,(也可同时增加删除)用逗号分割:

1
2
3
4
5
6
7
8
9
mysql> ALTER TABLE users1 DROP age,DROP password;
mysql> SHOW COLUMNS FROM users1;                 
+----------+----------------------+------+-----+---------+----------------+
| Field    | Type                 | Null | Key | Default | Extra          |
+----------+----------------------+------+-----+---------+----------------+
id        | smallint(5) unsigned | NO   | PRI | NULL    | auto_increment |
| username | varchar(10)          | NO   |     | NULL    |                |
| pid      | smallint(5) unsigned | YES  | MUL | NULL    |                |
+----------+----------------------+------+-----+---------+----------------+

    添加 / 删除主键约束:

1
2
3
ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...)        // 添加
 
ALTER TABLE tbl_name DROP PRIMARY KEY      // 删除

    添加 / 删除唯一约束:

1
2
3
ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] UNIQUE [INDEX|KEY] [index_name] [index_type] (index_col_name,...)     // 添加
 
ALTER TABLE tbl_name DROP {INDEX|KEY} index_name    // 删除

    添加 / 删除外键约束:

1
2
3
ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name,...) reference_definition     // 添加
 
ALTER TABLE tbl_name DROP FOREIGN KEY fk_symbol    // 删除

    添加 / 删除默认约束:

1
2
ALTER TABLE tbl_name ALTER [COLUMN] col_name {SET DEFAULT literal|DROP DEFAULT}     // 添加
mysql> ALTER TABLE tbl_name ALTER age DROP DEFAULT;     // 删除

            

添加主键约束:创建users2数据表,增加id列,设置id列为主键:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
mysql> CREATE TABLE users2(
    -> username VARCHAR(20) NOT NULL,
    -> pid SMALLINT UNSIGNED
    -> );    
mysql> ALTER TABLE users2 ADD  id  SMALLINT UNSIGNED;
mysql> ALTER TABLE users2 ADD CONSTRAINT pk_users2_id PRIMARY KEY ( id );
mysql> SHOW COLUMNS FROM users2;
+----------+----------------------+------+-----+---------+-------+
| Field    | Type                 | Null | Key | Default | Extra |
+----------+----------------------+------+-----+---------+-------+
| username | varchar(20)          | NO   |     | NULL    |       |
| pid      | smallint(5) unsigned | YES  |     | NULL    |       |
id        | smallint(5) unsigned | NO   | PRI | 0       |       |
+----------+----------------------+------+-----+---------+-------+

          

  •  删除主键约束:

1
mysql> ALTER TABLE users2 DROP PRIMARY KEY;

        添加唯一约束:添加username列为唯一约束:

1
mysql> ALTER TABLE users2 ADD CONSTRAINT OK_users2_username UNIQUE KEY (username);

        

  • 删除唯一约束:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
mysql> SHOW INDEXES FROM users2\G;
*************************** 1. row ***************************
        Table: users2
   Non_unique: 0
     Key_name: OK_users2_username
Seq_in_index: 1
  Column_name: username
    Collation: A
  Cardinality: 0
     Sub_part: NULL
       Packed: NULL
         Null: 
   Index_type: BTREE
      Comment: 
*************************** 2. row ***************************
        Table: users2
   Non_unique: 1
     Key_name: pid
Seq_in_index: 1
  Column_name: pid
    Collation: A
  Cardinality: 0
     Sub_part: NULL
       Packed: NULL
         Null: YES
   Index_type: BTREE
      Comment: 
2 rows  in  set  (0.00 sec)
 
ERROR: 
No query specified
 
mysql> ALTER TABLE users2 DROP INDEX OK_users2_username;
mysql> SHOW INDEXES FROM users2\G;                      
*************************** 1. row ***************************
        Table: users2
   Non_unique: 1
     Key_name: pid
Seq_in_index: 1
  Column_name: pid
    Collation: A
  Cardinality: 0
     Sub_part: NULL
       Packed: NULL
         Null: YES
   Index_type: BTREE
      Comment: 
1 row  in  set  (0.00 sec)

            

  • 添加外键约束:添加pid列为外键列,provincse数据表中的id为参照列:

1
mysql> ALTER TABLE users2 ADD FOREIGN KEY (pid) REFERENCES provinces ( id );

        

  • 删除外键约束:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
mysql> SHOW CREATE TABLE users2; 
+--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table  | Create Table                                                                                                                                                                                                                                                                                                                  |
+--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| users2 | CREATE TABLE `users2` (
   `username` varchar(20) NOT NULL,
   `pid` smallint(5) unsigned DEFAULT NULL,
   ` id ` smallint(5) unsigned NOT NULL DEFAULT  '0' ,
   `age` tinyint(4) NOT NULL,
   KEY `pid` (`pid`),
   CONSTRAINT `users2_ibfk_1` FOREIGN KEY (`pid`) REFERENCES `provinces` (` id `)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
mysql> ALTER TABLE users2 DROP FOREIGN KEY users2_ibfk_1;
  • 添加默认约束:添加age列,设置age列默认15

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
mysql> ALTER TABLE users2 ADD age TINYINT NOT NULL;
mysql> SHOW COLUMNS FROM users2; 
+----------+----------------------+------+-----+---------+-------+
| Field    | Type                 | Null | Key | Default | Extra |
+----------+----------------------+------+-----+---------+-------+
| username | varchar(20)          | NO   | UNI | NULL    |       |
| pid      | smallint(5) unsigned | YES  | MUL | NULL    |       |
id        | smallint(5) unsigned | NO   | PRI | 0       |       |
| age      | tinyint(4)           | NO   |     | NULL    |       |
+----------+----------------------+------+-----+---------+-------+
mysql> ALTER TABLE users2 ALTER age SET DEFAULT 15; 
mysql> SHOW COLUMNS FROM users2;                   
+----------+----------------------+------+-----+---------+-------+
| Field    | Type                 | Null | Key | Default | Extra |
+----------+----------------------+------+-----+---------+-------+
| username | varchar(20)          | NO   | UNI | NULL    |       |
| pid      | smallint(5) unsigned | YES  | MUL | NULL    |       |
id        | smallint(5) unsigned | NO   | PRI | 0       |       |
| age      | tinyint(4)           | NO   |     | 15      |       |
+----------+----------------------+------+-----+---------+-------+

        

  • 删除默认值:

1
2
3
4
5
6
7
8
9
10
mysql> ALTER TABLE users2 ALTER age DROP DEFAULT;
mysql> SHOW COLUMNS FROM users2;                   
+----------+----------------------+------+-----+---------+-------+
| Field    | Type                 | Null | Key | Default | Extra |
+----------+----------------------+------+-----+---------+-------+
| username | varchar(20)          | NO   | UNI | NULL    |       |
| pid      | smallint(5) unsigned | YES  | MUL | NULL    |       |
id        | smallint(5) unsigned | NO   | PRI | 0       |       |
| age      | tinyint(4)           | NO   |     | NULL    |       |
+----------+----------------------+------+-----+---------+-------+

            修改列定义:

1
ALTER TABLE tbl_name MODIFY [COLUMN] col_name column_definition [FIRST|AFTER col_name]

            修改列名称(不能随便更改):

1
ALTER TABLE tbl_name CHANGE [COLUMN] old_col_name new_col_name column_dufinition [FIRST|AFTER col_name]

            修改数据表名字(不能随便更改):

                

  • 方法一:

1
ALTER TABLE old_tbl_name RENAME new_tbl_name

       方法二:

1
RENAME TABLE old_tbl_name TO new_tbl_name [,tbl_name2 TO new_tbl_name2]...





      本文转自谢育政 51CTO博客,原文链接:http://blog.51cto.com/kurolz/1876254 ,如需转载请自行联系原作者


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
7月前
|
存储 安全 关系型数据库
MySQL数据库约束条件概述及其重要性讨论。
正确地实现并管理好各类紧缩条件将直接影响到企业信息管理水平与服务质量,在当今大数据背景下更显得格外重要;任何设计师都需要深刻理解其原理与运作机晰承担起责任使得所托管资料安全稳固同时又具备良好伸缩灵活度迎合日益复杂商务需求变动.
230 11
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
388 6
|
存储 关系型数据库 MySQL
MySQL索引学习笔记
本文深入探讨了MySQL数据库中慢查询分析的关键概念和技术手段。
834 81
|
NoSQL 关系型数据库 MySQL
2024Mysql And Redis基础与进阶操作系列(4-2)作者——LJS[含MySQL非空、唯一性、PRIMARY KEY、自增列/自增约束举例说明等详解步骤及常见报错问题对应的解决方法]
24MySQL非空、唯一性、PRIMARY KEY、自增列/自增约束举例说明等详解步骤及常见报错问题对应的解决方法(4-2) 学不会你来砍我!!!
|
9月前
|
关系型数据库 MySQL
MySQL数据表添加字段(三种方式)
本文解析了数据表的基本概念及字段添加方法。在数据表中,字段是纵向列结构,记录为横向行数据。MySQL通过`ALTER TABLE`指令支持三种字段添加方式:1) 末尾追加字段,直接使用`ADD`语句;2) 首列插入字段,通过`FIRST`关键字实现;3) 指定位置插入字段,利用`AFTER`指定目标字段。文内结合`student`表实例详细演示了每种方法的操作步骤与结构验证,便于理解与实践。
|
存储 SQL 关系型数据库
【MySQL基础篇】MySQL约束语法
文章介绍了MySQL中表的约束概念,包括非空、唯一、主键、默认和外键约束,以及如何在创建和修改表时指定这些约束。外键约束用于保持数据的一致性和完整性,文章通过示例展示了添加、删除外键的语法,并讨论了不同的删除/更新行为,如CASCADE和SETNULL。
【MySQL基础篇】MySQL约束语法
|
SQL 关系型数据库 MySQL
Mysql学习笔记(三):fetchone(), fetchmany(), fetchall()详细总结
MySQL中用于数据检索的`fetchone()`, `fetchmany()`, `fetchall()`函数的功能、SQL语句示例和应用场景。
511 3
Mysql学习笔记(三):fetchone(), fetchmany(), fetchall()详细总结
|
SQL Ubuntu 关系型数据库
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
296 3
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
|
关系型数据库 MySQL 数据处理
MySQL函数与约束
MySQL 提供了丰富的函数和强大的约束机制,用于数据处理和完整性维护。通过掌握这些工具,可以有效地管理和分析数据库中的数据,确保数据的一致性和准确性。无论是在日常数据查询中使用内置函数,还是在数据库设计中应用各种约束,都是确保数据库系统稳定、高效运行的关键。希望本文对您理解和应用 MySQL 函数与约束有所帮助。
210 1
|
存储 关系型数据库 MySQL
MySQL(条件约束)
为了校验数据,让数据的正确性能够得到保证,约束,能够引进更多的检查操作,但是也会增加系统的成本开销

推荐镜像

更多