From db85a8f1fdd1b13a10bcec473989d229fd7f9614 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9C=E6=9D=8E=E6=B6=9B=E2=80=9D?= <“3014619898@qq.com”> Date: Mon, 5 Sep 2022 23:32:59 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=94=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...56\345\272\223\346\226\207\344\273\266.md" | 72 +++++ ...344\270\200\351\242\230ER\345\233\276.png" | Bin 0 -> 36181 bytes ...6\350\241\214\344\275\234\344\270\232.png" | Bin 0 -> 36469 bytes .../\345\205\254\345\217\270.sql" | 59 ++++ ...0\345\261\261\344\271\240\351\242\230.sql" | 66 ++++ ...01\344\270\211\350\214\203\345\274\217.md" | 26 ++ .../20220905\345\217\230\351\207\217.md" | 37 +++ .../\345\210\206\351\241\265.md" | 98 ++++++ ...72\347\241\200\345\244\215\344\271\240.md" | 300 ++++++++++++++++++ 9 files changed, 658 insertions(+) create mode 100644 "45\346\235\216\346\266\233/\344\275\234\344\270\232/2022.9.1\351\223\266\350\241\214\346\225\260\346\215\256\345\272\223\346\226\207\344\273\266.md" create mode 100644 "45\346\235\216\346\266\233/\344\275\234\344\270\232/20220901\347\254\254\344\270\200\351\242\230ER\345\233\276.png" create mode 100644 "45\346\235\216\346\266\233/\344\275\234\344\270\232/20220901\351\223\266\350\241\214\344\275\234\344\270\232.png" create mode 100644 "45\346\235\216\346\266\233/\344\275\234\344\270\232/\345\205\254\345\217\270.sql" create mode 100644 "45\346\235\216\346\266\233/\344\275\234\344\270\232/\345\257\273\346\211\276\345\274\240\347\277\240\345\261\261\344\271\240\351\242\230.sql" create mode 100644 "45\346\235\216\346\266\233/\347\254\224\350\256\260/20220901\344\270\211\350\214\203\345\274\217.md" create mode 100644 "45\346\235\216\346\266\233/\347\254\224\350\256\260/20220905\345\217\230\351\207\217.md" create mode 100644 "45\346\235\216\346\266\233/\347\254\224\350\256\260/\345\210\206\351\241\265.md" create mode 100644 "45\346\235\216\346\266\233/\347\254\224\350\256\260/\346\225\260\346\215\256\345\272\223\345\237\272\347\241\200\345\244\215\344\271\240.md" diff --git "a/45\346\235\216\346\266\233/\344\275\234\344\270\232/2022.9.1\351\223\266\350\241\214\346\225\260\346\215\256\345\272\223\346\226\207\344\273\266.md" "b/45\346\235\216\346\266\233/\344\275\234\344\270\232/2022.9.1\351\223\266\350\241\214\346\225\260\346\215\256\345\272\223\346\226\207\344\273\266.md" new file mode 100644 index 0000000..d53fd6a --- /dev/null +++ "b/45\346\235\216\346\266\233/\344\275\234\344\270\232/2022.9.1\351\223\266\350\241\214\346\225\260\346\215\256\345\272\223\346\226\207\344\273\266.md" @@ -0,0 +1,72 @@ + + + + +![20220901第一题ER图](20220901第一题ER图.png) + +![20220901银行作业](20220901银行作业.png) + +```sql +create database ER ; + +use ER; + +create table UserInfo( +UserID int primary key identity(1,1), +UserName varchar(20) , +UsarPwd varchar(20), +UserAddress varchar(40) +) + +create table BankCard ( +IDCard int primary key identity(1,1), +UserID int references UserInfo(UserID), +Balance decimal(100,2) +) + +--交易表 +create table TradeInfo( + DealId int primary key identity(201,1),--交易信息Id + Dsave varchar(20) not null,--存钱 + Dborrow varchar(20) not null,--取钱 + BId int references BankCard(IDCard), + UserId int references UserInfo(UserID) +) + +insert Deal values +('存入50000','取出300','101','1'), +('存入60000','取出3000','102','2'), +--('存入8000','取出5000','103','1'), +('存入99000','取出60000','103','3') + +--转账信息表 +create table TDeal +( + TDId int primary key identity(301,1), + Transfer varchar(20) not null, + BId int references BankCard(IDCard), + UserId int references UserInfo(UserID), + + +) +insert TDeal values +('转出5000','101','1'), +('转入8000','102','2'), +('转出50000','103','3') + + +--状态信息表 +create table Statu +( + StId int primary key identity(401,1), + Statuss varchar(20) not null, + BId int references BankCard(IDCard), + UserId int references UserInfo(UserId), + +) +insert Statu values +('正常','101','1'), +('挂失','102','2'), +('冻结','103','3') +``` + diff --git "a/45\346\235\216\346\266\233/\344\275\234\344\270\232/20220901\347\254\254\344\270\200\351\242\230ER\345\233\276.png" "b/45\346\235\216\346\266\233/\344\275\234\344\270\232/20220901\347\254\254\344\270\200\351\242\230ER\345\233\276.png" new file mode 100644 index 0000000000000000000000000000000000000000..15384367a54c728932fed009df6dbd669877dbd8 GIT binary patch literal 36181 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 literal 0 HcmV?d00001 diff --git "a/45\346\235\216\346\266\233/\344\275\234\344\270\232/20220901\351\223\266\350\241\214\344\275\234\344\270\232.png" "b/45\346\235\216\346\266\233/\344\275\234\344\270\232/20220901\351\223\266\350\241\214\344\275\234\344\270\232.png" new file mode 100644 index 0000000000000000000000000000000000000000..b63a2702fe9e6f0ce414d32f427d2e622078a74e GIT binary patch literal 36469 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 literal 0 HcmV?d00001 diff --git "a/45\346\235\216\346\266\233/\344\275\234\344\270\232/\345\205\254\345\217\270.sql" "b/45\346\235\216\346\266\233/\344\275\234\344\270\232/\345\205\254\345\217\270.sql" new file mode 100644 index 0000000..789e431 --- /dev/null +++ "b/45\346\235\216\346\266\233/\344\275\234\344\270\232/\345\205\254\345\217\270.sql" @@ -0,0 +1,59 @@ +create database PD + +use PD + +go; + +--ְ +create table PostInfo( +PostNo int primary key identity(1,1) , +PostName varchar(20), +SHour money +) +insert PostInfo values +('ʦ','65'), +('ʦ','60'), +('','55'), +('Ա','60'), +('Ա','60') +select * from PostInfo + +--ְ +create table employee( +EID int primary key, +EName varchar(20) not null, +) +insert employee values(1001,''),(1002,'˼'),(1003,''),(1004,''); + +--Ŀ +create table Project( +PNo varchar(20) primary key , +PName varchar(20) not null, +) +insert Project values +('A1','԰'), +('A2',''), +('A3','ٽ') + +--нˮ +create table salary( +[SId] int primary key identity(1101,1), +EID int references employee(EID), --ְԱID +PNo varchar(20) references Project(PNo),--Ŀ +PostNO int references PostInfo(PostNo),--ְ +SRate int not null, +SHour int not null, +SPayroll int not null +) +insert salary values +('1001','A1','1','65','13','845'), +('1001','A2','1','65','15','975'), +('1002','A1','4','60','16','960'), +('1002','A3','4','60','18','1080'), +('1003','A2','3','55','17','935'), +('1004','A1','2','60','16','1140'), +('1004','A3','4','60','14','840') + +declare @money int +select @money=sum(SRate*SHour) from salary where PNo='A1' +print @money \ No newline at end of file diff --git "a/45\346\235\216\346\266\233/\344\275\234\344\270\232/\345\257\273\346\211\276\345\274\240\347\277\240\345\261\261\344\271\240\351\242\230.sql" "b/45\346\235\216\346\266\233/\344\275\234\344\270\232/\345\257\273\346\211\276\345\274\240\347\277\240\345\261\261\344\271\240\351\242\230.sql" new file mode 100644 index 0000000..c519833 --- /dev/null +++ "b/45\346\235\216\346\266\233/\344\275\234\344\270\232/\345\257\273\346\211\276\345\274\240\347\277\240\345\261\261\344\271\240\351\242\230.sql" @@ -0,0 +1,66 @@ +create database studenttest +go +use studenttest +go + +create table StuInfo( + StuNo varchar(20) primary key , + StuName varchar(50), + StuSex varchar(2), + StuAge int, + StuSeat int +); +go + +insert into StuInfo values('S2001','','',100,1); +insert into StuInfo values('S2002','Ŵɽ','',25,2); +insert into StuInfo values('S2003','޼','',12,3); + + +create table StuScore( + StuID varchar(20) primary key, + StuSex varchar(2), + Chinese int, + English int, + Math int +); +go + +insert into StuScore values('S2001','',75,80,90); +insert into StuScore values('S2002','',76,56,54); +insert into StuScore values('S2003','',90,92,70); +insert into StuScore values('S2004','',70,72,80); + + +--declare @ms float +declare @fms float + +--select @ms=AVG((Chinese+English+Math)/3) from StuScore where StuSex='' +select @fms=AVG((Chinese+English+Math)/3) from StuScore where StuSex='Ů' + +--print 'ƽɼ'+convert(varchar(5),@ms) +print 'Ůƽɼ'+convert(varchar(5),@fms) + + + +select * from StuScore + +select * from StuInfo +--2. ϰҪλҳŴɽǰͬѧ + +-- +declare @StuSeat int +--ʼ +--Ŵɽ +select @StuSeat=(select StuSeat from StuInfo where StuSeat=2) +--ӡ +print @StuSeat +--ŴɽǰϢ +select * from StuInfo +where StuSeat = @StuSeat+1 or StuSeat=@StuSeat-1 + + +--2.ϰѯѧϢ +declare @StuAge int +select @StuAge = max(stuage) from StuInfo +select * from StuInfo where StuAge=@StuAge \ No newline at end of file diff --git "a/45\346\235\216\346\266\233/\347\254\224\350\256\260/20220901\344\270\211\350\214\203\345\274\217.md" "b/45\346\235\216\346\266\233/\347\254\224\350\256\260/20220901\344\270\211\350\214\203\345\274\217.md" new file mode 100644 index 0000000..6aa40ec --- /dev/null +++ "b/45\346\235\216\346\266\233/\347\254\224\350\256\260/20220901\344\270\211\350\214\203\345\274\217.md" @@ -0,0 +1,26 @@ +**三范式** + +规范化(Normalization)是用于数据库设计的一系列原理和技术,它可以减少表中数据的冗余,增加数据完整性和一致性。 + + + +![image-20220905222714574](C:\Users\B1952\AppData\Roaming\Typora\typora-user-images\image-20220905222714574.png) + + + +(要理解不同业务的原子设计) + +第一范式(1NF)是指表中的字段都是不可再分的原子属性,同时表需要有一个主键。 + +拥有一唯一标识 一般为创建主键 + + + +第二范式(2NF)首先需要满足第一范式,非主键字段必须完全依赖于主键字段,不能只依赖于主键的一部分。 + +第三范式(3NF)首先需要满足第二范式,非主键字段不能依赖于其他非主键字段。 + + + +为了提高查询性能可以降低规范化的级别,也就是反规范化(Denormalization)。 + diff --git "a/45\346\235\216\346\266\233/\347\254\224\350\256\260/20220905\345\217\230\351\207\217.md" "b/45\346\235\216\346\266\233/\347\254\224\350\256\260/20220905\345\217\230\351\207\217.md" new file mode 100644 index 0000000..c7b1ad5 --- /dev/null +++ "b/45\346\235\216\346\266\233/\347\254\224\350\256\260/20220905\345\217\230\351\207\217.md" @@ -0,0 +1,37 @@ +**变量** + +定义 + +SQL Server中的变量是一个参数,可以对这个参数进行赋值 + +先定义 + +定义一个变量 + +```sql +declare @ 变量名 数据类型 +declare @ a int + +``` + +赋值 + +```sql +/* +set 变量名=值 +select 变量名1=值1 ,变量名2=值2 +*/ + +set 是单条数据赋值 +select 可以多条数据赋值 + + +``` + +优点 + +查询同一字段多个内容 + +只需要修改对应的变量内容,所有的字段对应的值都会修改 + +提高查询效率 \ No newline at end of file diff --git "a/45\346\235\216\346\266\233/\347\254\224\350\256\260/\345\210\206\351\241\265.md" "b/45\346\235\216\346\266\233/\347\254\224\350\256\260/\345\210\206\351\241\265.md" new file mode 100644 index 0000000..4360638 --- /dev/null +++ "b/45\346\235\216\346\266\233/\347\254\224\350\256\260/\345\210\206\351\241\265.md" @@ -0,0 +1,98 @@ +#### **分页** + +格式: + +limit[位置偏移量],行数 + +在 SQL Server 和Access ,需要使用TOP 关键字 比如: + +```sql +select top 5 name , hp_max from heros order by hp_max desc +``` + + + +##### 1.1:MySQL使用limit实现数据的分页显示 + +需求1:每页显示20条记录,此时显示第一页 + +```sql +select employee_id,last_name +from employess +limit 0,20; +``` + +需求2:每页显示20条记录,此时显示第二页 + +```sql +select employee_id,last_name +from employess +limit 20,20; +``` + +需求3:每页显示20条记录,此时显示第3页 + +```sql +select employee_id,last_name +from employess +limit 40,20; +``` + +需求: 每页显示PageSize条记录,此时显示第PageNo页 + +公式 :(limit PageNo-1) * PageSize, PageSize; + + + +##### 2.1:where ... order by ...limit 声明顺序如下 + +limit 的格式:严格来说:limit位置偏移量,条目数 + +结构“ limit 0,条目数” 等价于“limit条目数” + + + +```sql +显示第一页20条数据 +select employee_id,last_name,salary +from employess +where salary>6000 +order by salary desc +limit 0,20; + +#limit 20; + + +``` + +需求4:表里有107条数据,我们只想要显示第32、33条数据怎么办 + +```sql +select employee_id,last_name,salary +from employess +limit 31,2; +``` + +###### 2.3 MYSQL8.0中可以用“limit 3 offset 4” ,意思是获取从第5条记录开始后面的3条记录,和“limit 4,3;”返回的结果相同 + +分页显示公式 : (当前页数-1)* 每条页数,每页条数 + +* 注意: limit子句必须放在整个select语句的最后 + +```sql +select employee_id,last_name,salary +from employess +limit 2 offset 31; +``` + +练习:查询员工表中工资最高的员工信息 + +```sql +select employee_id,last_name,salary +from employess +order by salary desc +limit 0,1; +#limit 1; +#limit 1 offset 0; +``` + diff --git "a/45\346\235\216\346\266\233/\347\254\224\350\256\260/\346\225\260\346\215\256\345\272\223\345\237\272\347\241\200\345\244\215\344\271\240.md" "b/45\346\235\216\346\266\233/\347\254\224\350\256\260/\346\225\260\346\215\256\345\272\223\345\237\272\347\241\200\345\244\215\344\271\240.md" new file mode 100644 index 0000000..cd0e534 --- /dev/null +++ "b/45\346\235\216\346\266\233/\347\254\224\350\256\260/\346\225\260\346\215\256\345\272\223\345\237\272\347\241\200\345\244\215\344\271\240.md" @@ -0,0 +1,300 @@ +## 数据库基础复习 + + + +#### 创建数据库 + +```sql +create database 数据库名称 +``` + +#### 创建表 + +```sql +create table 表名 ( +列名 数据类型 自增 主键 不为空 +id int identity(1,1) primary key not null +) +``` + +##### check约束 + +check 选择 + +```sql +userSex varchar(2) not null check(userSex='男' or userSex='女') +``` + +##### check 约束字数 + +```sql +userName varchar(10) unique not null check(len(userName)>=2) +``` + +##### 默认 + +```sql +default('湖北') +``` + +##### 唯一 + +```sql +unique +``` + +##### 外键 + +```sql +references +``` + +##### 时间 + +```sql +datetime +smalldatetime +getdate() 当前时间 +``` + + + +#### 数据插入 + +单条数据插入 + +insert (into) 表名 values (列名数据,列名数据,列名数据); + +```SQL +insert into Department values('行政部','公司主管行政工作的部门'); +``` + +多条数据快捷插入 + +insert 表名 values (列名,列名,列名,列名), + +values (列名,列名,列名,列名) + +values (列名,列名,列名,列名) + +```sql +insert Department values (), +values(), +values() +``` + +选择性插入 + +表共三列名 + +```sql +insert Department(Name,Id)values('张三',5); +``` + + + + + +#### 查询 + +基础查询 + +```sql +select * from 表名 +``` + +指定查询 + +```sql +select 列名 from 表名 +select name from Department +``` + +修改列名 + +```sql +select 列名(中文) from 表名 +select name(姓名) from Department +``` + +条件查找 + +```sql +select 查找信息 from 表名 +where 查找条件 + +--查询月薪大于等于10000 的员工信息( 单条件 ) +select * from People +where PeopleSalary>=10000 +``` + + + +多条件查找 + +```sql +select 查找信息 from 表名 +where 查找条件1 +and 查找条件2 + +--6. 查询月薪在10000-20000 之间员工信息( 多条件 ) +select * from People +where PeopleSalary between 10000 +and 20000 +``` + +排序 + +```sql +order by + +asc 顺序,desc 逆序 + +--8. 查询所有员工信息 +select * from People order by PeopleSalary + +倒序 +order by desc + +select * from People order by PeopleSalary desc + +TOP 前部分数据 + +--10. 查询工资最高的5个人的信息 +select top 5 * from People order by PeopleSalary desc +``` + + + +按列名数据长度排序 + +```sql +len() + +--9. 显示所有的员工信息,按照名字的长度进行倒序排列 +select * from People +order by len (PeopleName) desc +``` + + + +##### 模糊查询 + +关键字 like + +```sql +通配符 + +%:代表匹配0个字符、1个字符或多个字符。 +_:代表匹配有且只有1个字符。 +[]:代表匹配范围内 +[^]:代表匹配不在范围内 +``` + +查询姓刘的员工信息 + +```sql +select * from People where PeopleName like '刘%' +``` + +查询姓刘的员工,名字是2个字 + +```sql +select * from People where PeopleName like '刘-' +``` + +查询出电话号码开头138的员工信息 + +```sql +select * from People where PeoplePhone like '138%' +``` + +查询出电话号码开头138的员工信息,第4位可能是7,可能8 ,最后一个号码是5 + +```sql +select * from People where PeoplePhone like '138[7,8]%5' +``` + +查询出电话号码开头133的员工信息,第4位是2-5之间的数字 ,最后一个号码不是2和3 + +```sql +select * from People where PeoplePhone like '133[2-5]%[^2-3]' + +select * from People WHERE PeoplePhone like '133[2,3,4,5]%[^2,3]' + +select * from People where PeoplePhone like '133[2,3,4,5]%[^2,^3]' +``` + + + +##### 聚合函数 + +五大聚合函数 + +```sql +count : 列表总数量 +max :最大值 +min:最小值 +sum:和 +avg:平均值 +``` + +查询出武汉地区的员工人数,总工资,最高工资,最低工资和平均工资 + +```sql +select count(*) 总人数,sum(PeopleSalary) 总工资, +max(PeopleSalary) 最高工资, min(PeopleSalary) 最低工资, +avg(PeopleSalary) 平均工资 +``` + + + +**round函数用法** + +round(num,len,[type]) +其中: +num表示需要处理的数字,len表示需要保留的长度,type处理类型(0是默认值代表四舍五入,非0代表直接截取) + +```sql +select ROUND(123.45454,3) --123.45500 +select ROUND(123.45454,3,1) --123.45400 +``` + + + +**SQL中常用的时间函数** + +```sql +select DATEDIFF(day, '2019-08-20', getDate()); --获取指定时间单位的差值 +SELECT DATEADD(MINUTE,-5,GETDATE()) --加减时间,此处为获取五分钟前的时间,MINUTE 表示分钟,可为 YEAR,MONTH,DAY,HOUR +select DATENAME(month, getDate()); --当前月份 +select DATENAME(WEEKDAY, getDate()); --当前星期几 +select DATEPART(month, getDate()); --当前月份 +select DAY(getDate()); --返回当前日期天数 +select MONTH(getDate()); --返回当前日期月数 +select YEAR(getDate()); --返回当前日期年数 + +SELECT CONVERT(VARCHAR(22),GETDATE(),20) --2020-01-09 14:46:46 +SELECT CONVERT(VARCHAR(24),GETDATE(),21) --2020-01-09 14:46:55.91 +SELECT CONVERT(VARCHAR(22),GETDATE(),23) --2020-01-09 +SELECT CONVERT(VARCHAR(22),GETDATE(),24) --15:04:07 +Select CONVERT(varchar(20),GETDATE(),14) --15:05:49:330 +``` + + + +##### 分组查询 + +```sql +group by + +使用顺序 +select +from +where +group by +order by + +``` + +注意:group by 比order by先执行,order by不会对group by 内部进行排序,如果group by后只有一条记录,那么order by 将无效。要查出group by中最大的或最小的某一字段使用 max或min函数。 -- Gitee