博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL数据库学习(二) MySQL数据库课后练习(1) DDL与DML练习
阅读量:3906 次
发布时间:2019-05-23

本文共 8096 字,大约阅读时间需要 26 分钟。

MySQL数据库课后练习1

一.第1题

案例:

1、创建数据库day01_test01_library

2、创建表格books

字段名 字段说明 数据类型 允许为空 唯一
b_id 书编号 int(11)
b_name 书名 varchar(50)
authors 作者 varchar(100)
price 价格 float
pubdate 出版日期 year
note 说明 varchar(100)
num 库存 int(11)

3、向books表中插入记录

1) 指定所有字段名称插入第一条记录

2)不指定字段名称插入第二记录

3)同时插入多条记录(剩下的所有记录)

b_id b_name authors price pubdate note num
1 Tal of AAA Dickes 23 1995 novel 11
2 EmmaT Jane lura 35 1993 joke 22
3 Story of Jane Jane Tim 40 2001 novel 0
4 Lovey Day George Byron 20 2005 novel 30
5 Old land Honore Blade 30 2010 law 0
6 The Battle Upton Sara 30 1999 medicine 40
7 Rose Hood Richard haggard 28 2008 cartoon 28

4、将小说类型(novel)的书的价格都增加5。

5、将名称为EmmaT的书的价格改为40。

6、删除库存为0的记录

 

//1.创建数据库day01_test01_librarycreate database day_01_test01_library;

运行后的结果为:

在这里插入图片描述

//2.创建表格bookscreate table books(   bid int(11)  PRIMARY KEY not null,   b_name varchar(50) not null,   authors varchar(100) not null,   price float  not null,   pubdate year not null,   note varchar(100),   num int(11)  not null);desc books;

运行后的结果为:

在这里插入图片描述

//3.(1)指定所有字段名称插入第一条语句insert into   books(bid,b_name,authors,price,pubdate,note,num) values  (1,'Tal of AAA','Dickes',23,'1995','novel',11);select * from  books;

运行后的结果为:

在这里插入图片描述

//3.(2)不指定字段名称插入第二条记录insert  into  books  values(2,'EmmaT','Jane lura',35,1993,'joke',22);select * from books;

** 运行后的结果为:**

在这里插入图片描述

//3.(3)同时插入多条数据(剩下的所有数据)insert into books values (3,'Story of Jane','Jane Tim',40,'2001','novel',0),                         (4,'Lovey Day','George Byron',20,'2005','novel',30),                          (5,'Old land','Honore Blade',30,'2010','law',0),													(6,'The Battle','Upton Sara',30,'1999','medicine',40),                          (7,'Rose Hood','Richard haggard',28,'2008','cartoon',28);select * from books;

运行后的结果为:

在这里插入图片描述

//4.将小说类型(novel)的书的价格都增加5update books set  price=price+5 where note='novel';select * from books;

在这里插入图片描述

//5.将名称为EmmaT的书的价格改为40update books set   price=40 where b_name='EmmaT';select * from books;

运行后的结果为:

在这里插入图片描述

//6、删除库存为0的记录delete  from books where num=0;select * from books;

运行后的结果为:

在这里插入图片描述


二.第2题

1、创建数据库day01_test02_market

2、创建表格customers

字段名 数据类型
c_num int(11)
c_name varchar(50)
c_contact varchar(50)
c_city varchar(50)
c_birth date

要求3:将c_contact字段移动到c_birth字段后面

要求4:将c_name字段数据类型改为 varchar(70)

要求5:将c_contact字段改名为c_phone

要求6:增加c_gender字段到c_name后面,数据类型为char(1)

要求7:将表名改为customers_info

要求8:删除字段c_city

 

//1、创建数据库day01_test02_marketcreate database day01_test02_market;

在这里插入图片描述

//2. 创建表格customerscreate table customers(   c_num int(11),   c_name varchar(50),   c_contact varchar(50),   c_city  varchar(50),   c_birth date);desc customers;

运行后的结果为:

在这里插入图片描述

//要求3:将c_contact字段移动到c_birth后面alter table customers  modify c_contact varchar(50) after c_birth;desc customers;

运行后的结果为:

在这里插入图片描述

//要求4:将c_name字段数据类型改为varchar(70)alter   table customers modify c_name varchar(70);desc customers;

运行后的结果为:

在这里插入图片描述

//要求5:将c_contact 字段改名为c_phonealter table customers change c_contact  c_phone  varchar(50);desc  customers;

运行后的结果为:

在这里插入图片描述

// 要求6:增加c_gender字段到c_name后面,数据类型为char(1)alter   table customers add  c_gender   char(1)  after c_name;

运行后的结果为:

在这里插入图片描述

//要求7:将表名改为customers_infoalter  table customers  rename  customers_info;

运行后的结果为:

在这里插入图片描述

//要求8:删除字段c_cityalter table  customers_info  drop  c_city;desc customers_info;

运行后的结果为:

在这里插入图片描述


三.第3题

1、创建数据库day01_test03_company

2、创建表格offices

字段名 数据类型
officeCode int
city varchar(30)
address varchar(50)
country varchar(50)
postalCode varchar(25)

3、创建表格employees

字段名 数据类型
empNum int(11)
lastName varchar(50)
firstName varchar(50)
mobile varchar(25)
code int
jobTitle varchar(50)
birth date
Note varchar(255)
Sex varchar(5)

要求4:将表employees的mobile字段修改到code字段后面。

要求5:将表employees的birth字段改名为birthday;

要求6:修改sex字段,数据类型为char(1)。

要求7:删除字段note;

要求8:增加字段名favoriate_activity,数据类型为varchar(100);

要求9:将表employees的名称修改为 employees_info

//1.创建数据库day01_test03_companycreate  database  day01_test03_company;//2.创建表格officescreate  table  offices(officeCode   int,city    varchar(30),address  varchar(50),country   varchar(50),postalCode  varchar(25));desc  offices;

运行后的结果为:

在这里插入图片描述

//3.创建表格employeescreate  table  employees(  empNum int(11),  lastName  varchar(50),  firstName varchar(50),  mobile   varchar(25),  code int,  jobTitle  varchar(50),  birth date,  Note  varchar(255),  Sex  varchar(5));desc employees;

运行后的结果为:

在这里插入图片描述

//要求4:将表中employees的mobile字段修改到code字段后面alter  table  employees  modify  mobile varchar(25)  after  code;desc  employees;

运行后的结果为:

在这里插入图片描述

//要求5:将表中employees的birth字段修改为birthdayalter   table  employees  change  birth   birthday  date ;desc  employees;

运行后的结果为:

在这里插入图片描述

//要求6:修改sex字段,数据类型为char(1)alter table  employees modify  Sex  char(1);  desc employees;

运行后的结果为:

在这里插入图片描述

//要求7:删除字段notealter table  employees  drop  note;desc  employees;

运行后的结果为:

在这里插入图片描述

//要求8:增加字段名favoriate_activity,数据类型为varchar(100);alter  table  employees add  favoriate_activity  varchar(100);desc   employees;

在这里插入图片描述

//要求9:将表employees 的名称修改为employees_infoalter  table  employees rename  employees_info;

运行后的结果为:

在这里插入图片描述


四.第4题

1、创建数据库day01_test04db

2、创建表格employee,并添加记录

id name sex tel addr salary
10001 张一一 13456789000 广东韶关 1001.58
10002 刘小红 13454319000 广东江门 1201.21
10003 李四 0751-1234567 广东佛山 1004.11
10004 刘小强 0755-5555555 广东深圳 1501.23
10005 王艳 020-1232133 广东广州 1405.16

要求3:查询出薪资在1200~1300之间的员工信息。

要求4:查询出姓“刘”的员工的工号,姓名,家庭住址。

要求5:将“李四”的家庭住址改为“广东韶关”

要求6:查询出名字中带“小”的员工

 

//1.创建数据库day01_test04dbcreate database  day01_test04db;//2.创建表格employee,并添加记录use   day01_test04db;create table  employee(    id  int(11),    name varchar(25),    sex  char(1),    tel  varchar(25),    addr  varchar(25),    salary  double)desc   employee;insert into    employee values   (10001,'张一一','男','13456789000','广东韶关',1001.58),                                 (10002,'刘小红','女','13454319000','广东江门',1201.21),                                 (10003,'李四','男','0751-1234567','广东佛山',1004.11),                                 (10004,'刘小强','男','0755-5555555','广东深圳',1501.23),                                 (10005,'王艳','女','020-1232133','广东广州',1405.16);select * from  employee;

运行后的结果为:

在这里插入图片描述
在这里插入图片描述

//3.要求3:查询薪资在1200到1300之间的员工信息select  * from  employee  where  salary  between  1200 and 1300;

运行后的结果为:

在这里插入图片描述

//4.查询出姓“刘”的员工的工号,姓名,家庭地址select   id,name,addr   from   employee  where name  like "刘%";

运行后的结果为:

在这里插入图片描述

//5.将“李四”的家庭住址修改为“广东韶关”update employee  set addr='广东韶关'  where  id =10003;select * from  employee;

在这里插入图片描述

//6.查询出名字中带"小"的员工select  * from   employee where  name like '%小%';

在这里插入图片描述


五.第5题

1、创建数据库day01_test05db

2、创建表格pet

字段名 字段说明 数据类型
name 宠物名称 varchar(20)
owner 宠物主人 varchar(20)
species 种类 varchar(20)
sex 性别 char(1)
birth 出生日期 year
death 死亡日期 year

3、添加记录

name owner species sex birth death
Fluffy harold Cat f 2003 2010
Claws gwen Cat m 2004
Buffy Dog f 2009
Fang benny Dog m 2000
bowser diane Dog m 2003 2009
Chirpy Bird f 2008

4、 添加字段主人的生日owner_birth。

5、 将名称为Claws的猫的主人改为kevin

6、 将没有死的狗的主人改为duck

7、 查询没有主人的宠物的名字;

8、 查询已经死了的cat的姓名,主人,以及去世时间;

9、 删除已经死亡的狗

10、查询所有宠物信息

//1.创建数据库day01_test05dbcreate  database day01_test05db;//2.创建表格petcreate table  pet(    name  varchar(20),    owner varchar(20),    species  varchar(20),    sex  char(1),    birth  year,    death   year);desc   pet;

运行后的结果为:

在这里插入图片描述

//3.添加数据insert into pet  values('Fluffy','harold','Cat','f',2003,2010),                        ('Claws','gwen','Cat','m',2004,null),                        ('Buffy',null,'Dog','f',2009,null),												('Fang','benny','Dog','m',2000,null),												('bowser','diane','Dog','m',2003,2009),                        ('Chirpy',null,'Bird','f',2008,null);select * from  pet;

运行后的结果为:

在这里插入图片描述

//4.添加字段主人的生日owner_birthalter table  pet  add owner_birth  date;desc  pet;

运行后的结果为:

在这里插入图片描述

//5.将名称为Claws的猫的主人改为kevinupdate    pet  set  owner='kevin' where  name='Claws';select * from  pet;

运行后的结果为:

在这里插入图片描述

//6.将没有死的狗的主人改为duckupdate   pet  set  owner='duck'  where species ='Dog' and  death is null;select  * from  pet;

运行后的结果为:

在这里插入图片描述

//7.查询没有主人的宠物的姓名select  name  from  pet where  owner is null;

运行后的结果为:

在这里插入图片描述

//8. 查询已经死了的cat的姓名,主人,以及去世时间;select  name,owner,death from  pet where  death is not null and species ='Cat';

运行后的结果为:

在这里插入图片描述

//9.删除已经死亡的狗delete   from pet  where  death  is not null and species='Dog';select * from pet;

运行的结果为:

在这里插入图片描述

总结

本节主要对1.DDL(数据库定义语言)定义库,表结构等,包含create,drop,alter;2.DML(数据操作语言),增删改查数据,包括insert,delete,update,select语句进行练习。重点掌握这些sql语句的语法,对后面的数据库操作很重要。

在这里插入图片描述

转载地址:http://dcqen.baihongyu.com/

你可能感兴趣的文章
setting up a new remote git repository
查看>>
tcpdump practice
查看>>
python signal handling
查看>>
signals linux
查看>>
Oracle查询优化
查看>>
Mysql服务器调优
查看>>
spring相关面试题
查看>>
spring事务处理
查看>>
MVC三层模型(struts+spring+hibernate)总结
查看>>
spring tx:advice 和 aop:config 配置事务
查看>>
Spring Insight 笔记 1 :Spring Insight 是什么?
查看>>
Upop总体设计
查看>>
Upagather服务器端文档
查看>>
java性能分析1
查看>>
java性能分析2
查看>>
JAVA基础:面向对象编程的几个原则
查看>>
java面向对象设计的六大原则
查看>>
java面向对象6大原则2
查看>>
java线程池学习
查看>>
Java线程:概念与原理
查看>>