在MySQL中,创建表是使用CREATE TABLE语句,以下是一些常用的命令和选项:
1、创建表
CREATE TABLE 表名 (
列名1 数据类型,
列名2 数据类型,
...
);
创建一个名为students
的表,包含id
、name
和age
三个字段:
CREATE TABLE students (
id INT,
name VARCHAR(255),
age INT
);
2、设置主键
CREATE TABLE 表名 (
列名1 数据类型 PRIMARY KEY,
列名2 数据类型,
...
);
将id
字段设置为主键:
CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(255),
age INT
);
3、设置自动递增
CREATE TABLE 表名 (
列名1 数据类型 AUTO_INCREMENT PRIMARY KEY,
列名2 数据类型,
...
);
将id
字段设置为自动递增:
CREATE TABLE students (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255),
age INT
);
4、设置默认值
CREATE TABLE 表名 (
列名1 数据类型 DEFAULT 默认值,
列名2 数据类型,
...
);
为age
字段设置默认值为18:
CREATE TABLE students (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255),
age INT DEFAULT 18
);
5、添加外键约束
CREATE TABLE 表名 (
列名1 数据类型,
列名2 数据类型,
FOREIGN KEY (列名2) REFERENCES 另一张表(列名)
);
为students
表添加一个class_id
字段,并将其设置为classes
表中id
字段的外键:
CREATE TABLE students (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255),
age INT DEFAULT 18,
class_id INT,
FOREIGN KEY (class_id) REFERENCES classes(id)
);
6、添加索引(可选)
CREATE TABLE 表名 (
列名1 数据类型,
列名2 数据类型,
INDEX(列名1)
);
为students
表中的name
字段添加索引:
CREATE TABLE students (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255),
age INT DEFAULT 18,
class_id INT,
FOREIGN KEY (class_id) REFERENCES classes(id),
INDEX(name)
);