diff --git "a/17 \344\276\257\351\224\237\351\223\226/.keep" "b/17 \344\276\257\351\224\237\351\223\226/.keep" new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git "a/17 \344\276\257\351\224\237\351\223\226/\344\275\234\344\270\232/.keep" "b/17 \344\276\257\351\224\237\351\223\226/\344\275\234\344\270\232/.keep" new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git "a/17 \344\276\257\351\224\237\351\223\226/\344\275\234\344\270\232/E-R\345\233\276/.keep" "b/17 \344\276\257\351\224\237\351\223\226/\344\275\234\344\270\232/E-R\345\233\276/.keep" new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git "a/17 \344\276\257\351\224\237\351\223\226/\344\275\234\344\270\232/E-R\345\233\276/\345\255\246\346\240\2411.png" "b/17 \344\276\257\351\224\237\351\223\226/\344\275\234\344\270\232/E-R\345\233\276/\345\255\246\346\240\2411.png" new file mode 100644 index 0000000000000000000000000000000000000000..cd9b758e5ab53eb6b8b072f8766754afb7bf7079 Binary files /dev/null and "b/17 \344\276\257\351\224\237\351\223\226/\344\275\234\344\270\232/E-R\345\233\276/\345\255\246\346\240\2411.png" differ diff --git "a/17 \344\276\257\351\224\237\351\223\226/\344\275\234\344\270\232/E-R\345\233\276/\345\255\246\346\240\2412.png" "b/17 \344\276\257\351\224\237\351\223\226/\344\275\234\344\270\232/E-R\345\233\276/\345\255\246\346\240\2412.png" new file mode 100644 index 0000000000000000000000000000000000000000..422620a1f530ba5ecbfc978859f6ad35cac8fd0e Binary files /dev/null and "b/17 \344\276\257\351\224\237\351\223\226/\344\275\234\344\270\232/E-R\345\233\276/\345\255\246\346\240\2412.png" differ diff --git "a/17 \344\276\257\351\224\237\351\223\226/\344\275\234\344\270\232/E-R\345\233\276/\351\223\266\350\241\2141.png" "b/17 \344\276\257\351\224\237\351\223\226/\344\275\234\344\270\232/E-R\345\233\276/\351\223\266\350\241\2141.png" new file mode 100644 index 0000000000000000000000000000000000000000..d0334a29b20d28712b537b6426a514e518ccdc48 Binary files /dev/null and "b/17 \344\276\257\351\224\237\351\223\226/\344\275\234\344\270\232/E-R\345\233\276/\351\223\266\350\241\2141.png" differ diff --git "a/17 \344\276\257\351\224\237\351\223\226/\344\275\234\344\270\232/E-R\345\233\276/\351\223\266\350\241\2142.png" "b/17 \344\276\257\351\224\237\351\223\226/\344\275\234\344\270\232/E-R\345\233\276/\351\223\266\350\241\2142.png" new file mode 100644 index 0000000000000000000000000000000000000000..e65c3fef7f0f100166441bc1d26b91b8367d93bd Binary files /dev/null and "b/17 \344\276\257\351\224\237\351\223\226/\344\275\234\344\270\232/E-R\345\233\276/\351\223\266\350\241\2142.png" differ diff --git "a/17 \344\276\257\351\224\237\351\223\226/\347\254\224\350\256\260/.keep" "b/17 \344\276\257\351\224\237\351\223\226/\347\254\224\350\256\260/.keep" new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git "a/17 \344\276\257\351\224\237\351\223\226/\347\254\224\350\256\260/1\345\244\215\344\271\240.Markdown" "b/17 \344\276\257\351\224\237\351\223\226/\347\254\224\350\256\260/1\345\244\215\344\271\240.Markdown" new file mode 100644 index 0000000000000000000000000000000000000000..a06e8602e35bc320866113bad92003a0a68518aa --- /dev/null +++ "b/17 \344\276\257\351\224\237\351\223\226/\347\254\224\350\256\260/1\345\244\215\344\271\240.Markdown" @@ -0,0 +1,166 @@ +# SQL复习 +### 建库建表 +1、建库 +```sql +create database (库名) + + --1.创建数据库 + + create database DBTEST + go + --2.使用数据库 + use DBTEST + go +``` +2、建表 +```sql +create table (表名) +``` +3、数据类型 +```sql +--整型 +--浮点:decimal(5,2):保留5位有效数字,小数点后2位 +--字符串:char(固定长度)varchar(可变长度), nvarchar(可变长 度,使用中文仍然只占用一个字节) +--时间:datetime +--文本类型:text,ntext,nvarchar(max) +``` +```sql +4、约束 +--主键: primary key (唯一标识列) +--唯一: unique(),前台判断:有没有重复数据 +--默认: default +--check: 检查 +--外键: references 表名(字段名)/ foreign key references Depart(DepId) +--自增(标识列中的标识规范):identity(开始数,增加数) +--非空:not null +``` +```sql + 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 +``` +5、修改表结构 +```sql + --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 +``` +6/插入数据 +```sql +--直接插入:排除自增列,按顺序一个一个插入 +insert into 表名() values('要插入的数据')/insert into 表名(字段名) values('要插入的数据') + +insert into bank values('张三','男',1,'12365478941'); +``` + + +### 查询 +#### 基础查询 +```sql +select * from 表名 +where 条件 + +select 字段名 【别名】 from 表名 +where +``` +#### 条件查询 + +```sql +--SQL中常用运算符 +=:等于,比较是否相等及赋值 +!=:比较不等于 +>:比较大于 +<:比较小于 +>=:比较大于等于 +<=:比较小于等于 +IS NULL:比较为空 +IS NOT NULL:比较不为空 +in:比较是否在其中 +like:模糊查询 +BETWEEN...AND...:比较是否在两者之间 50-100 BETWEEN 50 AND 100 +and:逻辑与(两个条件同时成立表达式成立) +or:逻辑或(两个条件有一个成立表达式成立) +not:逻辑非(条件成立,表达式则不成立;条件不成立,表达式则成立) +``` +#### 聚合函数 +```sql +--SQL SERVER中聚合函数主要有: +count:求数量 +max:求最大值 +min:求最小值 +sum:求和 +avg:求平均值 +``` + +#### 模糊查询 + +```sql +--模糊查询使用like关键字和通配符结合来实现,通配符具体含义如下: +%:代表匹配0个字符、1个字符或多个字符。 +_:代表匹配有且只有1个字符。 +[]:代表匹配范围内 +[^]:代表匹配不在范围内 +``` + +### 时间函数 +```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 | + + +### ROUND函数用法: + +```sql +round(num,len,[type]) +--其中: +--num表示需要处理的数字,len表示需要保留的长度,type处理类型(0是默认值代表四舍五入,非0代表直接截取) +select ROUND(123.45454,3) --123.45500 +select ROUND(123.45454,3,1) --123.45400 +``` \ No newline at end of file