211 lines
5.9 KiB
Markdown
211 lines
5.9 KiB
Markdown
# 综合案例1——数据表的基本操作
|
||
|
||
在全面介绍了MySQL中数据表的各种操作(如创建表、添加各类约束,查看表结构,以及修改和删除表)后,同学们应该掌握这些基本操作,为以后的学习打下坚实的基础。在这里,给出一个综合案例,让同学们全面回顾一下本章的知识要点,并通过这些操作来检验自己是否已经掌握了数据表的常用操作。
|
||
|
||
## 1、案例目的
|
||
|
||
创建、修改和删除表,掌握数据表的基本操作。
|
||
|
||
创建数据库company,按照表1和表2给出的表结构在company数据库中创建两个数据表offices和employees,按照操作过程完成对数据表的基本操作。
|
||
|
||
|
||
|
||
### 表1 offices表结构
|
||
|
||
| 字段名 | 数据类型 | 主键 | 外键 | 非空 | 唯一 | 自增 |
|
||
| ---------- | ------------- | ---- | ---- | ---- | ---- | ---- |
|
||
| officecode | int(10) | 是 | 否 | 是 | 是 | 否 |
|
||
| city | int(11) | 否 | 否 | 是 | 否 | 否 |
|
||
| address | varchar(50) | 否 | 否 | 否 | 否 | 否 |
|
||
| country | varchar(50) | 否 | 否 | 是 | 否 | 否 |
|
||
| postalcode | varchar(25) | 否 | 否 | 否 | 是 | 否 |
|
||
|
||
|
||
|
||
### 表2 employees表结构
|
||
|
||
| 字段名 | 数据类型 | 主键 | 外键 | 非空 | 唯一 | 自增 |
|
||
| -------------- | -------------- | ---- | ---- | ---- | ---- | ---- |
|
||
| employeenumber | int(11) | 是 | 否 | 是 | 是 | 是 |
|
||
| lastname | varchar(50) | 否 | 否 | 是 | 否 | 否 |
|
||
| firstname | varchar(50) | 否 | 否 | 是 | 否 | 否 |
|
||
| mobile | varchar(25) | 否 | 否 | 否 | 是 | 否 |
|
||
| officecode | int(10) | 否 | 是 | 是 | 否 | 否 |
|
||
| jobtitle | varchar(50) | 否 | 否 | 是 | 否 | 否 |
|
||
| birth | datetime | 否 | 否 | 是 | 否 | 否 |
|
||
| note | varchar(255) | 否 | 否 | 否 | 否 | 否 |
|
||
| sex | varchar(5) | 否 | 否 | 否 | 否 | 否 |
|
||
|
||
|
||
|
||
## 2、案例操作过程
|
||
|
||
### (1)登录MySQL数据库。
|
||
|
||
```mysql
|
||
mysql -h local -u root -p
|
||
```
|
||
|
||
截图:
|
||
|
||
![img](https://lsky.hhdxw.top/imghub/img/wpsD882.tmp.jpg)
|
||
|
||
### (2)创建数据库company并选择使用此数据库。
|
||
|
||
```mysql
|
||
create database company;
|
||
|
||
use company;
|
||
```
|
||
|
||
截图:
|
||
|
||
![img](https://lsky.hhdxw.top/imghub/img/wpsD883.tmp.jpg)
|
||
|
||
### (3)创建表offices,创建成功后用desc查看表结构。
|
||
|
||
```mysql
|
||
create table offices(
|
||
officecode int(10) not null unique primary key,
|
||
city int(11) not null ,
|
||
address varchar(50) null ,
|
||
country varchar(50) not null,
|
||
postalcode varchar(25) null unique
|
||
);
|
||
|
||
desc offices;
|
||
```
|
||
|
||
截图:
|
||
|
||
![img](https://lsky.hhdxw.top/imghub/img/wpsD884.tmp.jpg)
|
||
|
||
### (4)创建表employees,创建成功后用desc查看表结构。
|
||
|
||
```mysql
|
||
create table employees(
|
||
employeenumber int(11) not null unique auto_increment primary key,
|
||
lastname varchar(50) not null,
|
||
firstname varchar(50) not null,
|
||
mobile varchar(25) null unique,
|
||
officecode int(10) not null ,
|
||
birth datetime not null,
|
||
note varchar(255) null,
|
||
sex varchar(5) null,
|
||
foreign key(officecode) references offices(officecode)
|
||
);
|
||
```
|
||
|
||
截图:
|
||
|
||
![image-20220308170243379](https://lsky.hhdxw.top/imghub/img/image-20220308170243379.png)
|
||
|
||
### (5)使用show tables命令查看数据库中的表。
|
||
|
||
```mysql
|
||
show tables
|
||
```
|
||
|
||
截图:
|
||
|
||
![image-20220308170414341](https://lsky.hhdxw.top/imghub/img/image-20220308170414341.png)
|
||
|
||
### (6)将表employees的mobile字段修改到officecode字段后面,成功后使用desc查看修改后的表结构。
|
||
|
||
```mysql
|
||
alter table employees modify mobile varchar(25) after officecode;
|
||
|
||
desc employees;
|
||
```
|
||
|
||
截图:
|
||
|
||
![image-20220308170720963](https://lsky.hhdxw.top/imghub/img/image-20220308170720963.png)
|
||
|
||
### (7)将表employees的birth字段名改为employee_birth,成功后使用desc查看修改后的表结构。
|
||
|
||
```mysql
|
||
alter table employees change birth employees_birth datetime;
|
||
|
||
desc employees;
|
||
```
|
||
|
||
截图:
|
||
|
||
![image-20220308171008325](https://lsky.hhdxw.top/imghub/img/image-20220308171008325.png)
|
||
|
||
### (8)修改sex字段,数据类型为char(1),非空约束,成功后使用desc查看修改后的表结构。
|
||
|
||
```mysql
|
||
alter table employees modify sex char(1) not null;
|
||
|
||
desc employees;
|
||
```
|
||
|
||
截图:
|
||
|
||
![image-20220308171528384](https://lsky.hhdxw.top/imghub/img/image-20220308171528384.png)
|
||
|
||
### (9)删除字段note,成功后使用desc查看修改后的表结构。
|
||
|
||
```mysql
|
||
alter table employees drop note;
|
||
|
||
desc employees;
|
||
```
|
||
|
||
截图:
|
||
|
||
![image-20220308171326509](https://lsky.hhdxw.top/imghub/img/image-20220308171326509.png)
|
||
|
||
### (10)增加字段名favoriate_activity,数据类型为varchar(100) ,成功后使用desc查看修改后的表结构。
|
||
|
||
```mysql
|
||
alter table employees add favoriate_activity varchar(100);
|
||
|
||
desc employees;
|
||
```
|
||
|
||
截图:
|
||
|
||
![image-20220308171746485](https://lsky.hhdxw.top/imghub/img/image-20220308171746485.png)
|
||
|
||
### (11)删除表offices,操作成功后用show tables查看数据库中的表。
|
||
|
||
```mysql
|
||
drop table offices;
|
||
|
||
alter table employees drop foreign key employees_ibfk_1;
|
||
|
||
drop table offices;
|
||
|
||
show tables;
|
||
```
|
||
|
||
截图:
|
||
|
||
![image-20220308172132982](https://lsky.hhdxw.top/imghub/img/image-20220308172132982.png)
|
||
|
||
### (12)修改表employees存储引擎为myisam,执行成功后用show create table语句查看表结构。
|
||
|
||
```mysql
|
||
alter table employees engine = myisam;
|
||
|
||
show create table employees;
|
||
```
|
||
|
||
截图:
|
||
|
||
![image-20220308172645359](https://lsky.hhdxw.top/imghub/img/image-20220308172645359.png)
|
||
|
||
### (13)将表employees名称修改为employees_info,执行成功后用show tables查看数据库中的表。
|
||
|
||
```mysql
|
||
alter table employees rename employees_info;
|
||
|
||
show tables;
|
||
```
|
||
|
||
截图:
|
||
|
||
![image-20220308172838692](https://lsky.hhdxw.top/imghub/img/image-20220308172838692.png) |