mysql建表语句?

时间:2025-03-27 17:51:52 励志句子

MySQL建表语句的基本语法如下:

```sql

CREATE TABLE table_name (

column1 datatype1 [constraint1],

column2 datatype2 [constraint2],

...

columnn datatypen [constraintn]

);

```

其中:

`table_name` 是要创建的表的名称。

`column1, column2, ..., columnn` 是表中的列名。

`datatype1, datatype2, ..., datatypen` 是对应列的数据类型。

`constraint1, constraint2, ..., constraintn` 是对列的约束条件,如 `NOT NULL`, `AUTO_INCREMENT`, `UNIQUE`, `PRIMARY KEY`, `FOREIGN KEY` 等。

示例

```sql

CREATE TABLE users (

id INT AUTO_INCREMENT PRIMARY KEY,

username VARCHAR(50) NOT NULL,

email VARCHAR(100),

created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP

);

```

在这个示例中:

`id` 列是整数类型,自动递增,并且是主键。

`username` 列是最大长度为50的字符串类型,不能为空。

`email` 列是最大长度为100的字符串类型。

`created_at` 列是时间戳类型,默认值为当前时间戳。

其他选项

还可以在创建表时指定表的选项,例如存储引擎和字符集:

```sql

CREATE TABLE users (

id INT AUTO_INCREMENT PRIMARY KEY,

username VARCHAR(50) NOT NULL,

email VARCHAR(100),

created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

```

在这个示例中:

`ENGINE=InnoDB` 指定了表的存储引擎为 InnoDB。

`DEFAULT CHARSET=utf8` 指定了表的默认字符集为 utf8。

注意事项

表名和列名:

表名和列名必须符合标识符规则,通常只包含字母、数字和下划线,并且区分大小写。

主键:

主键列必须指定为 `NOT NULL`,并且可以有 `AUTO_INCREMENT` 属性。

约束条件:

约束条件可以包括 `NOT NULL`, `UNIQUE`, `PRIMARY KEY`, `FOREIGN KEY` 等。

索引:

可以使用 `INDEX` 或 `KEY` 关键字为表中的某一列或多列创建索引,可以指定索引的名称和选项(如唯一索引、全文索引等)。