21 天打卡学习常用MYSQL 语句

第1天作业

1)创建数据库 istester
2)查看数据库创建是否成功

--创建表istester,最好设置默认编码utf8
create database istester DEFAULT CHARACTER SET utf8;

--查看数据库
show databases;

--删除数据库
DROP database istester;

第2天作业

在昨天创建的isTester数据库下,创建 表 istester 和 表 idoxu

注:SQL的作业,前几天的 库、表,都是打基础;没有这些,后面的增删改查,你也没法玩 ;

1)isTester表的字段、类型、属性:
id INT(10) NOT NULL UNIQUE PRIMARY KEY ,
uname VARCHAR(20) NOT NULL ,
sex VARCHAR(4) ,
birth YEAR,
department VARCHAR(20) ,
address VARCHAR(50) ,
idoxu VARCHAR(20)

2)idoxu表的字段、类型、属性:
id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT ,
stu_id INT(10) NOT NULL ,
c_name VARCHAR(20) ,
istester VARCHAR(50) ,
grade INT(10)

--新建表istester,PRIMARY KEY 指定主键id ,ENGING 指定引擎是InnoDB,CHARSET 设置编码是utf8
create table istester(
id INT(10) NOT NULL UNIQUE PRIMARY KEY ,
uname VARCHAR(20) NOT NULL,
sex VARCHAR(4),
birth YEAR,
department VARCHAR(20),
address VARCHAR(50),
idoxu VARCHAR(20)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

--新建表idoxu
create table idoxu(
id INT(10) NOT NULL UNIQUE AUTO_INCREMENT,
stu_id INT(10) NOT NULL,
c_name VARCHAR(20),
istester VARCHAR(50),
grade INT(10),
PRIMARY KEY(id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

第3天作业

根据已有的表istester 和 idoxu 创建新表(复制表)

1)复制istester表结构,创建新表istester2
注:可以有两种方式

2)复制idoxu表结构和数据,创建新表idoxu2

3)复制idoxu表结构的 id,stu_id,istester三个字段,创建新表idoxu3

--查询表istester创建时的语句
SHOW CREATE TABLE istester;

--1.
create table istester2 like istester;
--2.
create table idoxu2 as select * from idoxu where 2=1;
--3.
create table idoxu3 as select id,stu_id,istester from idoxu where 1<>1;

第8天
/*
1)查找idoxu表,名称(c_name)包含 “i” 的数据
2)查找istester表,id 包含 “1” 的数据
3)查找istester表,id 包含 “1” 的数据,按id降序
4)查找istester表,id 包含 “1” 的数据 ,取id最大的三个
*/

select* from idoxu where c_name like "%i%";

select* from istester where id like "%1%";

select* from istester where id like "%1%" order by id DESC;

select* from istester where id like "%1%" order by id DESC limit 3;

第9天

第10天
-- 1)找出istester表,sex为空的的数据;

-- 2)更新istester表,把sex为空的,设置为0(性别未知)

-- 3)找出idoxu表,grade小于60分的同学

-- 4)更新idoxu表,把grade小于60分的同学,一律改为59分

#1.
select sex from istester where sex is null;
#2.
update istester set sex=0 where sex is null;
#3.
select * from idoxu where grade<60;
#4.
update idoxu set grade=59 where grade<60;

第11天
1)查找istester表,按id 降序
2)查找idoxu表,按grade升序

select * from istester order by id desc;
select * from idoxu order by grade asc;

第12天
1)查询istester表,有多少条数据
2)查询istester表,有几种性别烈性(sex 字段,去重)

count:统计查询结果的行数,会忽略掉 NULL 的结果;
sum :sum() 函数用于计算某一字段中所有行的数值之和( sum 求和时会对 null 进行过滤,不计算)
1)select count(*) from istester;

2)select count(distinct sex) from istester;

第15天
1)删除istester 表,id大于12的数据
2) 删除idoxu表,分数grade 不及格(小于60)的数据

DELETE  from istester where id>12;
DELETE from idoxu where grade <60;

第16天
insert into idoxu (id,stu_id,c_name,istester,grade) select id,id,uname,60,60 from istester;

第17天作业 ,

-- 1)把idoxu表,改名为 idoxu6

-- 2)检查是否修改成功

-- 3)修改表istester,把字段istester ,改为istester6(字符类型varchar,长度160 )

-- 4)检查是否修改成功

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容