diff --git "a/35-\345\274\240\345\271\263/\344\275\234\344\270\232/sql\350\277\233\351\230\266\344\275\234\344\270\232-2022-9-4/\345\261\217\345\271\225\346\210\252\345\233\276 2022-09-04 211051.png" "b/35-\345\274\240\345\271\263/\344\275\234\344\270\232/sql\350\277\233\351\230\266\344\275\234\344\270\232-2022-9-4/\345\261\217\345\271\225\346\210\252\345\233\276 2022-09-04 211051.png" new file mode 100644 index 0000000000000000000000000000000000000000..fb0f7f4165182b0521e678ac63e23629422850fc Binary files /dev/null and "b/35-\345\274\240\345\271\263/\344\275\234\344\270\232/sql\350\277\233\351\230\266\344\275\234\344\270\232-2022-9-4/\345\261\217\345\271\225\346\210\252\345\233\276 2022-09-04 211051.png" differ diff --git "a/35-\345\274\240\345\271\263/\344\275\234\344\270\232/sql\350\277\233\351\230\266\344\275\234\344\270\232-2022-9-4/\345\261\217\345\271\225\346\210\252\345\233\276 2022-09-04 211223.png" "b/35-\345\274\240\345\271\263/\344\275\234\344\270\232/sql\350\277\233\351\230\266\344\275\234\344\270\232-2022-9-4/\345\261\217\345\271\225\346\210\252\345\233\276 2022-09-04 211223.png" new file mode 100644 index 0000000000000000000000000000000000000000..9e2397cd1b2baf8325bfa0e85a0f205a4429b8d8 Binary files /dev/null and "b/35-\345\274\240\345\271\263/\344\275\234\344\270\232/sql\350\277\233\351\230\266\344\275\234\344\270\232-2022-9-4/\345\261\217\345\271\225\346\210\252\345\233\276 2022-09-04 211223.png" differ diff --git "a/35-\345\274\240\345\271\263/\344\275\234\344\270\232/sql\350\277\233\351\230\266\344\275\234\344\270\232-2022-9-4/\346\250\241\346\213\237\351\223\266\350\241\214.md" "b/35-\345\274\240\345\271\263/\344\275\234\344\270\232/sql\350\277\233\351\230\266\344\275\234\344\270\232-2022-9-4/\346\250\241\346\213\237\351\223\266\350\241\214.md" new file mode 100644 index 0000000000000000000000000000000000000000..b4c273b6c61bbda58bfd340963c4c2180504d1fc --- /dev/null +++ "b/35-\345\274\240\345\271\263/\344\275\234\344\270\232/sql\350\277\233\351\230\266\344\275\234\344\270\232-2022-9-4/\346\250\241\346\213\237\351\223\266\350\241\214.md" @@ -0,0 +1,27 @@ +```sql +create table AccountInfo( +Account int primary key, +Name varchar(20), +Phone varchar(11),int foreign key references BankCard(CardNO), +Birth varchar(20) +) +create table BankCard( +Account int foreign key references AccountInfo(Account), +CardNo int primary key, +Cardpassword varchar(20) +) +create table deal( +Account int foreign key references AccountInfo(Account), +DealInfo varchar(50) +) +create table [Transfer] ( +Account int foreign key references AccountInfo(Account), +CardNo int foreign key references BankCard(CardNO), +TransferInfo varchar(50) +) +create table StatusMessages( +CardNo int foreign key references BankCard(CardNO), +CarState varchar(10) +) +``` + diff --git "a/35-\345\274\240\345\271\263/\347\254\224\350\256\260/sql\350\277\233\351\230\266\347\254\224\350\256\2602022-8-29.md" "b/35-\345\274\240\345\271\263/\347\254\224\350\256\260/sql\350\277\233\351\230\266\347\254\224\350\256\2602022-8-29.md" new file mode 100644 index 0000000000000000000000000000000000000000..b4952bc0614fa2bd9e6238b645dbdb133609ee48 --- /dev/null +++ "b/35-\345\274\240\345\271\263/\347\254\224\350\256\260/sql\350\277\233\351\230\266\347\254\224\350\256\2602022-8-29.md" @@ -0,0 +1,72 @@ +--检测该数据库存不存在,如果存在就删除 +if exists (select * from sys.databases where name = 'dbtest') +drop database dbtest +go + +--1.创建数据库 +create database DBTEST +go +--2.使用数据库 +use DBTEST +go + +--创建部门表 +create table Depart( + DepId int primary key identity(1,1), + DepName varchar(50) not null +); +go +--创建表 +create table [User]( + --字段名(列名) 数据类型 [约束] + --ID + Id int primary key identity(1,1), + --姓名 + uName varchar(20) not null unique, + --性别 + uGender varchar(5) check(uGender = '男' or uGender= '女') default('男'), + --外键 + DepId int foreign key references Depart(DepId) +); +go + +--修改表结构 +--增加一列 手机号 +--alter table 表名 add增/drop删/alter改 +alter table [User] add Phone char(11) unique; +go + +--删除一列 +alter table [User] drop column uGender; + +--修改列 +alter table [User] alter column Phone varchar(11); +go + + + +--插入数据 +--直接插入:排除自增列,按顺序一个一个插入 +insert into Depart values('开发部') + +insert into [User] values('张三','男',1,'12365478941'); + + + + +--数据类型 +--整型 +--浮点:decimal(5,2):保留5位有效数字,小数点后2位 +--字符串:char(固定长度)varchar(可变长度), nvarchar(可变长度,使用中文仍然只占用一个字节) +--时间:datetime +--文本类型:text,ntext,nvarchar(max) + +--自增(标识列中的标识规范) +--非空 + +--约束 +--主键: primary key (唯一标识列) +--唯一: unique(),前台判断:有没有重复数据 +--默认: default +--check: 检查 +--外键: foreign key references \ No newline at end of file diff --git "a/35-\345\274\240\345\271\263/\347\254\224\350\256\260/sql\350\277\233\351\230\266\347\254\224\350\256\2602022-8-30.md" "b/35-\345\274\240\345\271\263/\347\254\224\350\256\260/sql\350\277\233\351\230\266\347\254\224\350\256\2602022-8-30.md" new file mode 100644 index 0000000000000000000000000000000000000000..d42d14da6f2bb93fa49527547fe14570be906b68 --- /dev/null +++ "b/35-\345\274\240\345\271\263/\347\254\224\350\256\260/sql\350\277\233\351\230\266\347\254\224\350\256\2602022-8-30.md" @@ -0,0 +1,78 @@ +#### 条件查询 + +**SQL中常用运算符** + +```sql +=:等于,比较是否相等及赋值 +!=:比较不等于 +>:比较大于 +<:比较小于 +>=:比较大于等于 +<=:比较小于等于 +IS NULL:比较为空 +IS NOT NULL:比较不为空 +in:比较是否在其中 +like:模糊查询 +BETWEEN...AND...:比较是否在两者之间 50-100 BETWEEN 50 AND 100 +and:逻辑与(两个条件同时成立表达式成立) +or:逻辑或(两个条件有一个成立表达式成立) +not:逻辑非(条件成立,表达式则不成立;条件不成立,表达式则成立) +``` + +#### 模糊查询 + +模糊查询使用like关键字和通配符结合来实现,通配符具体含义如下: + +```sql +%:代表匹配0个字符、1个字符或多个字符。 +_:代表匹配有且只有1个字符。 +[]:代表匹配范围内 +[^]:代表匹配不在范围内 +``` + +#### 聚合函数 + +SQL SERVER中聚合函数主要有: + +```sql +count:求数量 +max:求最大值 +min:求最小值 +sum:求和 +avg:求平均值 +``` + +#### 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 +``` + +**时间格式控制字符串:** + +| 名称 | 日期单位 | 缩写 | +| ------------ | ----------- | --------- | +| 年 | year | yyyy 或yy | +| 季度 | quarter | qq,q | +| 月 | month | mm,m | +| 一年中第几天 | dayofyear | dy,y | +| 日 | day | dd,d | +| 一年中第几周 | week | wk,ww | +| 星期 | weekday | dw | +| 小时 | Hour | hh | +| 分钟 | minute | mi,n | +| 秒 | second | ss,s | +| 毫秒 | millisecond | ms | \ No newline at end of file diff --git "a/35-\345\274\240\345\271\263/\347\254\224\350\256\260/sql\350\277\233\351\230\266\347\254\224\350\256\2602022-9-1.md" "b/35-\345\274\240\345\271\263/\347\254\224\350\256\260/sql\350\277\233\351\230\266\347\254\224\350\256\2602022-9-1.md" new file mode 100644 index 0000000000000000000000000000000000000000..adaabffa83abfe4a1cb6ceae76368d526515bbc8 --- /dev/null +++ "b/35-\345\274\240\345\271\263/\347\254\224\350\256\260/sql\350\277\233\351\230\266\347\254\224\350\256\2602022-9-1.md" @@ -0,0 +1,10 @@ +#### E-R图转换为关系模型 + +- 1对1: + - 可以转换为一个独立的关系模式 + - 可以与任意一端对应的关系模式合并,***在任意一方加入对方的主键*(主码)变为其外键(外码),并加入联系本身的属性**。 +- 1对n,n对1: + - 可以转换为一个独立的关系模式 + - 可以与n端对应的关系模式合并**,将1方的主键加入n方作为其外键**,**并将联系的属性也加入n方** +- m对n: + - 可以转换为一个独立的关系模式(新建一张关系表)**,将联系双方的主键(主码)加入其中,并将联系的属性也加入其中。** \ No newline at end of file diff --git a/README.md b/README.md index 595b38d9e6db20f214b3c143502e0c2cda589cdd..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 --- a/README.md +++ b/README.md @@ -1,39 +0,0 @@ -# SQL进阶 - -#### 介绍 -{**以下是 Gitee 平台说明,您可以替换此简介** -Gitee 是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN)。专为开发者提供稳定、高效、安全的云端软件开发协作平台 -无论是个人、团队、或是企业,都能够用 Gitee 实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)} - -#### 软件架构 -软件架构说明 - - -#### 安装教程 - -1. xxxx -2. xxxx -3. xxxx - -#### 使用说明 - -1. xxxx -2. xxxx -3. xxxx - -#### 参与贡献 - -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request - - -#### 特技 - -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 -5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)