centos7安装MySQL后创建表、字段,设置字段与字段之间的关系
时间: 2024-05-14 21:11:59 浏览: 15
1. 安装MySQL
在CentOS 7上安装MySQL可以使用以下命令:
```
sudo yum install mysql-server
```
安装完成后,启动MySQL服务:
```
sudo systemctl start mysqld
```
2. 创建数据库
用root用户登录MySQL:
```
mysql -u root -p
```
创建一个名为mydb的数据库:
```
CREATE DATABASE mydb;
```
3. 创建表
在mydb数据库中创建一个名为users的表:
```
USE mydb;
CREATE TABLE users (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL,
PRIMARY KEY (id)
);
```
以上命令创建了一个包含id、name、email三个字段的表,其中id为自增主键。
4. 插入数据
向users表中插入一些数据:
```
INSERT INTO users (name, email) VALUES
('John Doe', 'john.doe@example.com'),
('Jane Smith', 'jane.smith@example.com'),
('Bob Johnson', 'bob.johnson@example.com');
```
5. 设置字段之间的关系
在MySQL中,可以使用外键来建立表与表之间的关系。假设我们有一个名为orders的表,其中包含id、user_id、amount三个字段,其中user_id表示订单所属的用户。我们可以将user_id作为外键,来建立users表与orders表之间的关系。
首先,在mydb数据库中创建orders表:
```
USE mydb;
CREATE TABLE orders (
id INT NOT NULL AUTO_INCREMENT,
user_id INT NOT NULL,
amount DECIMAL(10, 2) NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (user_id) REFERENCES users(id)
);
```
以上命令创建了一个包含id、user_id、amount三个字段的表,其中user_id作为外键,参考了users表中的id字段。
现在,如果我们向orders表中插入数据,必须保证user_id的值存在于users表中的id字段中,否则会抛出错误。例如:
```
INSERT INTO orders (user_id, amount) VALUES
(1, 100.00),
(2, 200.00),
(3, 300.00),
(4, 400.00);
```
以上命令会抛出以下错误:
```
ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`mydb`.`orders`, CONSTRAINT `orders_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`))
```
因为orders表中user_id为4的记录,在users表中不存在id为4的记录。