数据库实验记录

实验要求:

一、基础要求
1、登陆数据库
2、创建数据库zoo
3、修改数据库zoo字符集为gbk
4、选择当前数据库为zoo
5、查看创建数据库zoo信息
6、删除数据库zoo
二、创建表
1、创建一个名称为db_system的数据库
2、在该数据库下创建两张表,具体要求如下
员工表 user
字段 类型 约束 备注
id 整形 主键,自增长 id
NAME 字符型 非空 姓名
gender 字符 非空 性别
birthday 日期型 生日
entry_date 日期型 非空 入职时间
job 字符型 非空 职位
员工绩效表 salary
字段 类型 约束 备注
id 整形 主键,自增长 id
userId 字符型 非空,外键,关联的是user表的id字段 用户id
baseSalary 小数 非空 基本工资
month 整数 非空 月份
allowances 小数 非空,默认为0 补贴
三、修改表
1、在上面员工表的基本上增加一个image列,类型是blod,长度255。
2、修改job列,使其长度为60。
3、删除gender列。
4、表名salary改为usersalary。
5、修改表的字符集为utf8;
6、列名name修改为username


1.查看自己电脑的ip地址(dos命令---->ipconfig)

进入MobaXterm

一、建立数据库

mysql> create database zoo;

3.修改数据库zoo字符集为gbk

(1)显示“字符%”之类的变量

mysql>show variables like 'character%';

结果:

(2)修改数据库zoo字符集为gbk

mysql> alter database zoo character set gbk;

结果:修改成功

(3)查看修改是否准确

mysql> show create database zoo;

结果:

(4)选择这个数据库

MySQL [zoo]> use zoo;
Database changed

(5)查看创建数据库zoo信息

查找数据库zoo的信息

(6)删除数据库zoo

(7)查看是否删除

回头确认操作是否生效

二、创建表

创建数据库

查看是否创建成功

2、在该数据库下创建两张表,具体要求如下

创建user表

查表信息

创建salary表
mysql> create table salary(
    -> id int primary key auto_increment comment'id',
    -> userID int not null comment'用户id',
    -> baseSalary decimal(10,2) not null comment'基本工资',
    -> month int not null comment'月份',
    -> allowances decimal(10,2) not null default 0 comment'补贴',
    -> foreign key (userID) references user(id) on delete cascade);
Query OK, 0 rows affected (0.04 sec)
查看salary表
mysql> desc salary;
+------------+---------------+------+-----+---------+----------------+
| Field      | Type          | Null | Key | Default | Extra          |
+------------+---------------+------+-----+---------+----------------+
| id         | int           | NO   | PRI | NULL    | auto_increment |
| userID     | int           | NO   | MUL | NULL    |                |
| baseSalary | decimal(10,2) | NO   |     | NULL    |                |
| month      | int           | NO   |     | NULL    |                |
| allowances | decimal(10,2) | NO   |     | 0.00    |                |
+------------+---------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)
三、修改表
1、在上面员工表的基本上增加一个image列,类型是blob,长度255。

mysql> alter table user add image blob(255);
Query OK, 0 rows affected (0.02 sec)
Records: 0  Duplicates: 0  Warnings: 0
 
 
 
结果
 
mysql> desc user;
+------------+----------+------+-----+---------+----------------+
| Field      | Type     | Null | Key | Default | Extra          |
+------------+----------+------+-----+---------+----------------+
| id         | int      | NO   | PRI | NULL    | auto_increment |
| NAME       | char(20) | NO   |     | NULL    |                |
| gender     | char(4)  | NO   |     | NULL    |                |
| birthday   | date     | YES  |     | NULL    |                |
| entry_date | date     | NO   |     | NULL    |                |
| job        | char(30) | NO   |     | NULL    |                |
| image      | tinyblob | YES  |     | NULL    |                |
+------------+----------+------+-----+---------+----------------+
7 rows in set (0.00 sec)

2、修改job列,使其长度为60。

mysql> alter table user modify job varchar(60);
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0
 
#结果
 
mysql> desc user;
+------------+-------------+------+-----+---------+----------------+
| Field      | Type        | Null | Key | Default | Extra          |
+------------+-------------+------+-----+---------+----------------+
| id         | int         | NO   | PRI | NULL    | auto_increment |
| NAME       | char(20)    | NO   |     | NULL    |                |
| gender     | char(4)     | NO   |     | NULL    |                |
| birthday   | date        | YES  |     | NULL    |                |
| entry_date | date        | NO   |     | NULL    |                |
| job        | varchar(60) | YES  |     | NULL    |                |
| image      | tinyblob    | YES  |     | NULL    |                |
+------------+-------------+------+-----+---------+----------------+
7 rows in set (0.00 sec)
 

3、删除gender列。

mysql> alter table user drop gender;
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0
 
#结果
 
mysql> desc user;
+------------+-------------+------+-----+---------+----------------+
| Field      | Type        | Null | Key | Default | Extra          |
+------------+-------------+------+-----+---------+----------------+
| id         | int         | NO   | PRI | NULL    | auto_increment |
| NAME       | char(20)    | NO   |     | NULL    |                |
| birthday   | date        | YES  |     | NULL    |                |
| entry_date | date        | NO   |     | NULL    |                |
| job        | varchar(60) | YES  |     | NULL    |                |
| image      | tinyblob    | YES  |     | NULL    |                |
+------------+-------------+------+-----+---------+----------------+
6 rows in set (0.00 sec)

4、表名salary改为usersalary。

mysql> alter table salary rename usersalary;
Query OK, 0 rows affected (0.01 sec)
也可以使用rename table salary to usersalary;命令来修改表名。

5、修改表的字符集为utf8;

mysql> alter table user default character set utf8 collate utf8_general_ci;
Query OK, 0 rows affected, 2 warnings (0.01 sec)
6、列名NAME修改为username

mysql> alter table user change NAME  username char(20) not null;
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0
 
mysql> desc user;
+------------+-------------+------+-----+---------+----------------+
| Field      | Type        | Null | Key | Default | Extra          |
+------------+-------------+------+-----+---------+----------------+
| id         | int         | NO   | PRI | NULL    | auto_increment |
| username   | char(20)    | NO   |     | NULL    |                |
| birthday   | date        | YES  |     | NULL    |                |
| entry_date | date        | NO   |     | NULL    |                |
| job        | varchar(60) | YES  |     | NULL    |                |
| image      | tinyblob    | YES  |     | NULL    |                |
+------------+-------------+------+-----+---------+----------------+
6 rows in set (0.00 sec)

  • 30
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值