一.SQL基础操作:
1、要求创建一名为“BookM”的数据库。
2、要求创建一个使用gbk字符集的 “StuM”的数据库。
3、要求创建一个使用utf8字符集,并带校对规则为utf8_general_ci的“CK”数据库。
4、要求使用命令查看已经创建好的所有的数据库。
5、要求查看创建好的数据库CK的信息。
6、将已经创建好的数据库CK的编码修改为gbk,校对规则为gbk_bin。
7、删除已经创建好的数据库CK。
# 1、要求创建一名为“BookM”的数据库。
create database if not exists BookM;
# 2、要求创建一个使用gbk字符集的 “StuM”的数据库。
create database StuM character set gbk;
# 3、要求创建一个使用utf8字符集,并带校对规则为utf8_general_ci的“CK”数据库。
create database CK character set utf8 collate utf8_general_ci;
# 4、要求使用命令查看已经创建好的所有的数据库。
show databases;
# 5、要求查看创建好的数据库CK的信息。
show create database CK;
# 6、将已经创建好的数据库CK的编码修改为gbk,校对规则为gbk_bin。
alter database CK character set gbk collate gbk_bin;
# 7、删除已经创建好的数据库CK。
drop database CK;
show databases;
运行结果
二. 简答题
一、创建一个名为employee的数据库,使用该数据库创建存储引擎为myisam,一个名为user的表,user表结构如下表:
字段名 | 类型 | 是否允许为null | 默认值 | 备注 |
id | int unsigned | No | 0 | 学号 |
name | varchar(60) | No | ‘’ | 姓名 |
sex | enum(‘男’,'女') | No | 性别 | |
birthday | date | No | 生日 | |
job | varchar(100) | No | ‘’ | 工作 |
entry_date | date | No | 入职时间 | |
salary | decimal(10,2) | No | 薪水 | |
resume | text | Yes | 简历 |
写出下面各项操作的sql代码:
1.写出创建user表的sql代码。
2.在上面user表的基础上增加一个image字段,类型为varchar(100),要求在resume后面。
3.交换job字段和entry_date字段的位置(即在user表中互换这两个字段的位置)。
4.删除sex字段。
5.表名改为emp。
6.修改表的字符集为gbk。
7.字段名name修改为username。
8.修改job字段,使其长度为60。
二、创建一个名为student的数据库,使用该数据库创建存储引擎为innodb,一个名为grade的表,grade表结构如下表:
字段名 | 类型 | 是否允许为null | 默认值 | 备注 |
id | int | No | 学号 | |
name | varchar(20) | No | 姓名 | |
grade | float | No | 0 | 成绩 |
写出下面各项操作的sql代码:
1.写出创建grade表的sql代码。
2.显示表grade的结构。
3.修改字段名name为username。
4.修改表的字符集为gbk。
5.在name字段后加入age字段,类型为int(10),默认值为0,可以为空,备注为“年龄”。
6.删除age字段。
7.修改username字段,使其长度为30。
8.修改grade表名为chengji表。
代码如下:
# 1.写出创建user表的sql代码。
create table user
(
id int(20) not null default'0'comment'学号',
name varchar(60) not null default ''comment'姓名',
sex enum('男','女') not null comment'性别',
birthday date not null comment'生日',
job varchar(100) not null default''comment'工作',
entry_date date not null comment'入职时间',
salary decimal(10,2) not null comment'薪水',
resume text null comment'简历'
)ENGINE=MyISAM;
# 2.在上面user表的基础上增加一个image字段,类型为varchar(100),要求在resume后面。
alter table user add column image varchar(100) not null default ''comment '图片路径' after resume;
# 3.交换job字段和entry_date字段的位置(即在user表中互换这两个字段的位置)。
alter table user modify job varchar(100) default ''not null comment '工作' after entry_date;
# 4.删除sex字段。
alter table user drop column sex;
# 5.表名改为emp。
rename table user to emp;
# 6.修改表的字符集为gbk。
alter table emp character set gbk;
# 7.字段名name修改为username。
alter table emp change name username varchar(60)collate utf8_unicode_ci default ''not null comment'姓名';
# 8.修改job字段,使其长度为60。
alter table emp modify job varchar(60)collate utf8_unicode_ci default '' not null comment'工作';
运行结果如图:
第二题:
代码如下:
# 1.写出创建grade表的sql代码。
create table grade
(
id int(10) not null comment '学号',
name varchar(20) not null comment'姓名',
grade float not null default'0'comment'成绩'
)engine=innodb;
# 2.显示表grade的结构。
show create table grade;
# 3.修改字段名name为username。
alter table grade change name username varchar(20) not null;
# 4.修改表的字符集为gbk。
alter table grade convert to character set gbk;
# 5.在name字段后加入age字段,类型为int(10),默认值为0,可以为空,备注为“年龄”。
alter table grade ADD age int(10) null default'0'comment'年龄' after username;
# 6.删除age字段。
alter table grade drop age;
# 7.修改username字段,使其长度为30。
alter table grade modify username varchar(30);
# 8.修改grade表名为chengji表。
alter table grade rename chengji;
运行结果如图: