据说看过这篇文章的人月薪都10K?
数据库的语言:SQL语言(当前)
SQL的组成: DML:用来插入、修改和删除数据库的数据
DDL:用来建立数据库、数据库对象和定义其列,大部分以CREATE开头命令
DQL:用来对数据库中的数据进行查询
DCL:用来控制数据库组件的存取许可、存取权限等
数据库中的运算符:+ - * / %
数据库中的赋值运算符 : =
数据库中的比较运算符: = > < <>(不等于) >= <= !=(不等于)
数据库中的逻辑运算符: AND 当且仅当两个布尔表达式为TRUE时,返回TRUE
OR 当且仅当两个布尔表达式都为FALSE,返回FALSE
NOT 对布尔表达式的值取反,优先级别最高
言归正传,使用SQL插入数据
语法:
1
|
INSERT [INTO] 表名 [(列名列表)] VALUES(值列表) |
一次插入多行数据:
(1)通过INSERT SELECT语句向表中添加数据
(2)通过SELECT INTO语句将现有表中的数据添加到新表中
语法:
1
2
3
4
5
|
SELECT IDENTITY(数据类型,表示种子,标识增长量) AS 列明 INTO 列表 FROM 原始表 |
(3)通过UNIO关键字合并数据进行插入
使用SQL更新数据
语法:
1
|
UPDATE 表名 SET 列名 = 更新值 [WHERE 更新值] |
使用SQL删除数据
1 语法: 2 delete from 表名 3 where 行名 4 eg 5 delete from card 6 where ID=‘0023-ABE’
|
使用SQL查看数据
1 语法: 2 select * from 表名 3 eg 4 select * from student
SQL SERVER提供了一些内部函数,每个函数实现不同的功能,不同类别的函数都可以和SELECT、UPDATE、INSERT语句联合使用。
(1)字符串函数
函数名 | 描述 | 例子 |
CHARINDEX | 用来寻找一个指定的字符串在另一个字符串中的起始位置 |
SELECT CHARINDEX('NAME','My name is Tom',1) 返回:4 |
LEN | 返回传递给它的字符串长度 |
SELECT LEN('SQL SERVER 课程') 返回:12 |
UPPER | 把传递给它的字符串转换为大写 |
SELECT UPPER('sql server 课程') 返回:SQL SERVER 课程 |
LTRIM | 清楚字符左边的空格 |
SELECT LTRIM(' 周志宇 ') 返回:周志宇 (后面空格保留) |
RIRIM | 清楚字符右边的空格 |
SELECT LTRIM(' 周志宇 ') 返回: 周志宇(前面空格保留) |
RIGHT | 从字符串右边返回指定书目的字符 |
SELECT RIGHT(‘机房贷款’,2) 返回:贷款 |
REPLACE | 替换一个字符串的字符 |
SELECT REPLACE(‘双方的奋斗',双,单) 返回:单方的奋斗 |
STUFF | 在一个字符串中,删除指定长度的字符,并在该位置插入一个新的字符串 |
SELECT STUFF('123我的456’,4,5,'他的') 返回:123他的456 |
(2)日期函数:
GETDATE | 取得当前的系统日期 |
SELECT GETDATE() 返回:今天的日期 |
DATEADD | 将制定的数值添加到指定的日期部分后的日期 |
SELECT DATEADD(mm,‘01/01/2009’) 返回:以当前的日期格式返回05/01/2009 |
DATEDIFF | 两个日期之间的指定日期部分的间隔 |
SELECT DATEDIFF(mm,‘01/01/2009’,'05/01/2009') 返回:4 |
DATENAME | 日期中指定日期部分的字符串形式 |
SELECT DATENAME(dw,'01/01/2000') 返回:Saturday或星期六 |
DATEPART | 日期中指定日期部分的整数形式 |
SELECT DATEPART(day,'01/15/2000') 返回:15 |
注释:
year | yy,yyy |
quarter | qq,q |
month | mm,m |
day | dd,d |
dayofyear | dy,y |
week | wk,ww |
weekday | dw,w |
hour | hh |
minute | mi,m |
second | ss,s |
millisecond | ms |
(3)数学函数:
RAND | 返回从0到1之间的随机float数 |
SELECT RAND() 返回:0.79288062146374 |
ABS | 取数值表达式的绝对值 |
SELECT ABS(-43) 返回:43 |
CELING | 向上取整 |
SELECT CELING(43.5) 返回:44 |
FLOOR | 想下去整 |
SELECT FLOOR(39.8) 返回:39 |
POWER | 取数值表达式的幂值 |
SELECT POWER(5.2) 返回:25 |
ROUND | 将数值表达式四舍五入 |
SELECCT ROUND(43.543,1) 返回:43.500 |
SIGN | 对于正数返回+1,对于负数但会-1,对于0返回0 |
SELECT SIGN(-43) 返回:-1 |
SQRT | 取浮点表达式的平方根 |
SELECT SQRT(9) 返回:3 |
(4)系统函数:
CONVERT | 用来转变数据类型 |
SELECT CONBERT(VARCHAR(5),12345) 返回:字符串12345 |
模糊查询和聚合函数
(1)通配符:它是一类字符,它可以代替一个或多个真正的字符,查找信息时作为替代字符出现。
_ | 一个字符 |
% | 任意长度的字符串 |
[] | 括号中所指定范围内的一个字符 |
[^] | 不在括号中所指定范围内的任意一个字符 |
(2)使用LIKE进行模糊查询(自我总结:LIKE就是在一个字符串中去找有没有与条件相似的关键字,也就是说只要有我们要找的关键字在里面就行)
(3)使用BETWEEN在摸个范围进行查询(自我总计:BETWEEN的意思就是在---之间,顾名思义就是给定一个范围,在范围内查找)
(4)使用IN在例举值内进行查询:(自我总结:IN就是列举值必须与匹配的列具有相同的数据类型)
聚合函数:SUM()函数 AVG()函数 MAX()函数和MIN()函数 COUNT()函数
SUM()函数:计算的是列的总和
AVG()函数:计算的是平均数
MAX()函数:计算的是最大值
MIN()函数:计算的是最小值
COUNT()函数:计算的是总和
分组查询:采用GROUP BY字句来实现。用于统计时经常使用分组查询!
sum()
count()
max() min()
avg()
一旦通过group by分组,那么我们只能获取组相关的信息,而不能获取组中成员的信息
在select只能跟聚合函数和group by后面的列,其他列不允许
where之后不能有聚合函数
帅的人都点赞了,你还在犹豫什么??!!!
⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄