MySQL建表语句是用于创建数据库表的核心SQL语句,其基本语法和扩展功能如下:
一、基础语法结构
```sql
CREATE TABLE [数据库名].[表名] (
[列名1] [数据类型] [约束条件] [默认值],
[列名2] [数据类型] [约束条件] [默认值],
...
) [表选项]
```
数据库名(可选):指定表所属的数据库,需使用反引号(\`)包裹,例如 `CREATE TABLE mydb.users (...)`。
表名:必须唯一且符合命名规范。
列定义:包括列名、数据类型、约束条件(如 `NOT NULL`、`DEFAULT`、`UNIQUE`)等。
二、常用约束条件
NOT NULL :列值不能为空。DEFAULT:
设置默认值(如 `DEFAULT CURRENT_TIMESTAMP`)。
UNIQUE:
确保列值唯一。
PRIMARY KEY:
主键约束,需与 `AUTO_INCREMENT` 结合使用。
FOREIGN KEY:
外键约束,用于关联其他表。
三、扩展功能
索引优化
:通过 `INDEX` 关键字添加索引(如 `INDEX (column_name)`)。
存储引擎:指定存储引擎(如 `InnoDB`、`MyISAM`)。
字符集与排序规则:使用 `CHARSET`(如 `utf8`)和 `COLLATE` 定义字符编码。
四、示例
字段说明
`id`:自增主键
`username`:用户名,最大长度50字符,唯一
`email`:邮箱,最大长度100字符,唯一
`password_hash`:密码哈希值
`created_at`/`updated_at`:时间戳,自动记录创建和更新时间
五、注意事项
表名与列名:
区分大小写。
数据类型:
需与数据库字符集匹配(如 `utf8` 字符集建议使用 `utf8mb4`)。
删除表:
使用 `DROP TABLE table_name;` 删除表。
通过以上结构与示例,可灵活创建满足需求的数据库表。