创建数据表的基本语法
CREATE TABLE <表名> ( <列名1> <数据类型> [列约束], <列名2> <数据类型> [列约束], [表约束] ) [表选项];
关键要素说明
1. 表名:
必须唯一且符合标识符命名规则
可以使用`db_name.table_name`格式指定数据库
避免使用MySQL保留关键字
2.列定义:
每列需要指定名称和数据类型
可选的约束条件:NOT NULL, DEFAULT, AUTO_INCREMENT等
3. 数据类型:
整数:INT, SMALLINT, TINYINT, BIGINT等
小数:FLOAT, DOUBLE, DECIMAL
字符串:CHAR, VARCHAR, TEXT
日期时间:DATE, TIME, DATETIME, TIMESTAMP
实际示例扩展
这里再展示一个更完整的表创建示例:
CREATE TABLE employees ( emp_id INT(11) NOT NULL AUTO_INCREMENT, first_name VARCHAR(50) NOT NULL, last_name VARCHAR(50) NOT NULL, email VARCHAR(100) UNIQUE, hire_date DATE NOT NULL, salary DECIMAL(10,2) DEFAULT 0.00, dept_id INT(11), PRIMARY KEY (emp_id), FOREIGN KEY (dept_id) REFERENCES departments(dept_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
创建表时的注意事项
1. 选择正确的数据类型:根据数据特性选择最合适且最节省空间的数据类型
2. 添加适当的约束:
PRIMARY KEY (主键约束)
FOREIGN KEY (外键约束)
UNIQUE (唯一约束)
NOT NULL (非空约束)
CHECK (检查约束)
3. 考虑存储引擎:
InnoDB (支持事务、外键)
MyISAM (读取性能好)
4. 字符集设置:
utf8mb4支持完整的Unicode字符集(包括emoji)
5. 命名规范:
保持一致性(如全部小写或驼峰式)
使用有意义的名称
验证表结构
创建表后,可以使用以下命令验证表结构:
DESCRIBE table_name; -- 或简写为 DESC table_name
SHOW CREATE TABLE table_name; -- 查看完整的建表语句
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程