mysql创建主键索引代码
时间: 2023-10-01 18:06:55 浏览: 47
在 MySQL 中创建主键索引有以下两种方式:
1. 在创建表时定义主键
可以在创建表时在字段定义后面添加 PRIMARY KEY,表示该字段为主键,例如:
```
CREATE TABLE student (
id INT NOT NULL PRIMARY KEY,
name VARCHAR(50) NOT NULL
);
```
2. 在已有表中添加主键
可以使用 ALTER TABLE 语句在已有的表中添加主键,例如:
```
ALTER TABLE student ADD PRIMARY KEY (id);
```
其中,student 是表名,id 是要作为主键的字段名。注意,添加主键之前要先保证该字段的值都是唯一的。
相关问题
mysql创建主键索引
在MySQL中,创建主键索引是为了确保表中的每一行都有唯一的标识符。主键索引可以提高查询效率,并且还可以用于保证数据的完整性。下面是创建主键索引的步骤:
1. 创建表时定义主键:在创建表的时候,可以通过在字段定义后面添加PRIMARY KEY关键字来指定主键。例如:
```
CREATE TABLE table_name (
column1 datatype PRIMARY KEY,
column2 datatype,
...
);
```
这里的`column1`就是主键字段。
2. 修改现有表的主键:如果已经创建了表,但没有定义主键,可以使用ALTER TABLE语句来添加主键。例如:
```
ALTER TABLE table_name
ADD PRIMARY KEY (column1);
```
这里的`column1`是要作为主键的字段。
3. 主键的约束:主键索引还可以定义一些约束,例如自增长(AUTO_INCREMENT)和非空(NOT NULL)。例如:
```
CREATE TABLE table_name (
column1 datatype PRIMARY KEY AUTO_INCREMENT,
column2 datatype NOT NULL,
...
);
```
这里的`AUTO_INCREMENT`表示`column1`字段将自动递增生成唯一值,而`NOT NULL`表示`column2`字段不能为空。
4. 复合主键:如果需要使用多个字段作为主键,可以将它们放在括号内并用逗号分隔。例如:
```
CREATE TABLE table_name (
column1 datatype,
column2 datatype,
...
PRIMARY KEY (column1, column2)
);
```
这样就创建了一个由`column1`和`column2`组成的复合主键。
MySQL 创建索引的代码
MySQL 创建索引有多种方式,下面分别介绍:
1. 创建表时添加索引
在创建表时,可以在字段定义后添加 `INDEX` 或 `PRIMARY KEY` 等关键字来创建索引,例如:
```
CREATE TABLE mytable (
id INT PRIMARY KEY,
name VARCHAR(50),
INDEX idx_name (name)
);
```
上述代码中,`id` 字段被定义为主键,`name` 字段被定义为普通索引。
2. ALTER TABLE 添加索引
在已存在的表中添加索引,可以使用 `ALTER TABLE` 语句,例如:
```
ALTER TABLE mytable ADD INDEX idx_name (name);
```
上述代码中,`mytable` 表中的 `name` 字段被添加了一个名为 `idx_name` 的普通索引。
3. CREATE INDEX 创建索引
使用 `CREATE INDEX` 语句也可以创建索引,例如:
```
CREATE INDEX idx_name ON mytable (name);
```
上述代码中,`mytable` 表中的 `name` 字段被创建了一个名为 `idx_name` 的普通索引。
需要注意的是,创建索引需要根据实际情况选择合适的索引类型和字段,不当的索引会降低查询性能。