第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)检查是否修改成功