MySQL数据库学习(二) MySQL数据库课后练习(1) DDL与DML练习

一.第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_idb_nameauthorspricepubdatenotenum
1Tal of AAADickes231995novel11
2EmmaTJane lura351993joke22
3Story of JaneJane Tim402001novel0
4Lovey DayGeorge Byron202005novel30
5Old landHonore Blade302010law0
6The BattleUpton Sara301999medicine40
7Rose HoodRichard haggard282008cartoon28

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

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

6、删除库存为0的记录

 

//1.创建数据库day01_test01_library
create database day_01_test01_library;

运行后的结果为:
在这里插入图片描述

//2.创建表格books
create 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)的书的价格都增加5
update books set  price=price+5 where note='novel';
select * from books;

在这里插入图片描述

//5.将名称为EmmaT的书的价格改为40
update 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_numint(11)
c_namevarchar(50)
c_contactvarchar(50)
c_cityvarchar(50)
c_birthdate

要求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_market

create database day01_test02_market;

在这里插入图片描述

//2. 创建表格customers
create 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_phone
alter 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_info
alter  table customers  rename  customers_info;

运行后的结果为:
在这里插入图片描述

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

运行后的结果为:
在这里插入图片描述


三.第3题

1、创建数据库day01_test03_company

2、创建表格offices

字段名数据类型
officeCodeint
cityvarchar(30)
addressvarchar(50)
countryvarchar(50)
postalCodevarchar(25)

3、创建表格employees

字段名数据类型
empNumint(11)
lastNamevarchar(50)
firstNamevarchar(50)
mobilevarchar(25)
codeint
jobTitlevarchar(50)
birthdate
Notevarchar(255)
Sexvarchar(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_company
create  database  day01_test03_company;

//2.创建表格offices
create  table  offices(
officeCode   int,
city    varchar(30),
address  varchar(50),
country   varchar(50),
postalCode  varchar(25)
);
desc  offices;

运行后的结果为:
在这里插入图片描述

//3.创建表格employees
create  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字段修改为birthday
alter   table  employees  change  birth   birthday  date ;
desc  employees;

运行后的结果为:
在这里插入图片描述

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

运行后的结果为:
在这里插入图片描述

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

运行后的结果为:
在这里插入图片描述

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

在这里插入图片描述

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

运行后的结果为:
在这里插入图片描述


四.第4题

1、创建数据库day01_test04db

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

idnamesexteladdrsalary
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_test04db
create 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、添加记录

nameownerspeciessexbirthdeath
FluffyharoldCatf20032010
ClawsgwenCatm2004
BuffyDogf2009
FangbennyDogm2000
bowserdianeDogm20032009
ChirpyBirdf2008

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

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

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

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

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

9、 删除已经死亡的狗

10、查询所有宠物信息

//1.创建数据库day01_test05db
create  database day01_test05db;

//2.创建表格pet
create 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_birth
alter table  pet  add owner_birth  date;
desc  pet;

运行后的结果为:
在这里插入图片描述

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

update    pet  set  owner='kevin' where  name='Claws';
select * from  pet;

运行后的结果为:
在这里插入图片描述

//6.将没有死的狗的主人改为duck
update   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语句的语法,对后面的数据库操作很重要。

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值