MySQL 建表语句详解
目录
(图片来源网络,侵删)
基本建表语句
数据类型
列级约束
表级约束
表选项
示例
基本建表语句
CREATE TABLE table_name (
column_name1 data_type(size) [column_constraints],
column_name2 data_type(size) [column_constraints],
...
[table_constraints]
) [table_options];
- table_name: 新建表的名称。
- column_name1, column_name2, ...: 表中各列的名称。
- data_type: 列的数据类型,如 INT, VARCHAR, TEXT, DATE, TIMESTAMP 等。
- size: 数据类型的长度或大小(对于某些数据类型适用)。
- [column_constraints]: 列级约束,例如 NOT NULL, AUTO_INCREMENT, DEFAULT, PRIMARY KEY, UNIQUE, COMMENT 等。
- [table_constraints]: 表级约束,如 PRIMARY KEY, FOREIGN KEY, UNIQUE 等。
- [table_options]: 表的其他选项,如 ENGINE, AUTO_INCREMENT, CHARSET, COMMENT 等。
数据类型
MySQL 支持多种数据类型,以下是一些常见的数据类型:
- INT: 整数类型。
- VARCHAR(size): 可变长度的字符串,size 表示最大字符数。
- CHAR(size): 固定长度的字符串。
- TEXT: 长文本数据。
- DATE: 日期,格式为 YYYY-MM-DD。
- DATETIME: 日期和时间,格式为 YYYY-MM-DD HH:MM:SS。
- TIMESTAMP: 时间戳,记录数据变更的日期和时间。
- FLOAT: 浮点数。
- DOUBLE: 双精度浮点数。
- DECIMAL(M, D): 定点数,M 是总位数,D 是小数点后的位数。
列级约束
- NOT NULL: 该列不能有 NULL 值。
- AUTO_INCREMENT: 用于整数类型,自动递增。
- DEFAULT value: 为列指定默认值。
- PRIMARY KEY: 将列设置为表的主键。
- UNIQUE: 保证列中的每个值都是唯一的。
- COMMENT 'string': 为列添加注释。
表级约束
- PRIMARY KEY (column1, column2, ...): 指定一个或多个列作为主键。
- UNIQUE KEY (column1, column2, ...): 指定一个或多个列作为唯一键。
- FOREIGN KEY (column) REFERENCES parent_table(column): 指定一个外键,创建与另一个表的引用关系。
- INDEX (column1, column2, ...): 创建一个或多个列的索引。
表选项
- ENGINE=storage_engine: 指定存储引擎,如 InnoDB(默认)、MyISAM 等。
- AUTO_INCREMENT=value: 为 AUTO_INCREMENT 的列指定初始值。
- CHARSET=character_set: 指定表的默认字符集。
- COMMENT 'string': 为表添加注释。
示例
以下是一个包含各种语句的创建表示例:
CREATE TABLE student ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(100) NOT NULL, age INT DEFAULT 18, admission_date DATE, bio TEXT, PRIMARY KEY (id), UNIQUE KEY (name), INDEX (admission_date), COMMENT 'Student records table' ) ENGINE=InnoDB AUTO_INCREMENT=1001 CHARSET=utf8mb4;在这个示例中,创建了一个名为 student 的表,包含 id, name, age, admission_date, 和 bio 列。id 列是主键并自动递增,起始值为 1001。name 列是唯一的,admission_date 列被索引。整个表的存储引擎是 InnoDB,字符集是 utf8mb4,并且有一个表级注释。
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
