阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

SQL基本语法和书写格式

238次阅读
没有评论

共计 2763 个字符,预计需要花费 7 分钟才能阅读完成。

插入
insert [into] 表名 [(列名列表)] values (值列表)

insert into 新表名 (列名列表) select 列名列表 from 表名

select 表名. 列名 into 新表名 from 表名

insert 表名(列名列表) select 值列表 1 union select 值列表 2

修改
update 表名 set 列名 = 更新值 [where < 更新条件 >]

update 表名 set 列名 1 = 更新值, 列名 n = 更新值 [where < 更新条件 >]

删除
delete [from] 表名 [where < 删除条件 >]

truncate table 表名

查询
select 列名 from 表名 where < 查询条件表达式 >
order by < 排序的列名 > asc 或 desc

select * from 表名 // 查询所有数据

select 列名列表 from 表名 where 查询条件 // 查询部分行或列

select 列名 as 列别名 from 表名 where 查询条件 // 使用列别名

select * from 表名 where 列名 is null // 查询空值

select 列别名 = 列名, 默认信息 as 列名 from 表名 // 使用常量

select top 显示的行数 列名 from 表名 where 查询条件 // 限制显示行数

select top 数字 percent 列名 from 表名 where 查询条件 // 按百分比提取

模糊查询
select * from 表名 where 列名 like ‘ 查询的值 %’

select * from 表名 where 列名 between 初值 and 终值

select * from 表名 where 列名 in(值 1, 值 2)

分组查询
select 列名 from 表名 group by 列名

内连接
SELECT 表名 1. 列名, 表名 2. 列名 FROM 表名 1, 表名 2
 WHERE 表名 1. 列名 = 表名 2. 列名

SELECT 表名 1. 列名, 表名 2. 列名 FROM 表名 1
 INNER JOIN 表名 2 ON (表名 1. 列名 = 表名 2. 列名)

左外连接
SELECT 表名 1. 列名, 表名 2. 列名 FROM 表名 1
 LEFT OUTER JOIN 表名 2 ON 表名 1. 列名 = 表名 2. 列名

右外连接
SELECT 表名 1. 列名, 表名 2. 列名 FROM 表名 1
 RIGHT OUTER JOIN 表名 2 ON 表名 1. 列名 = 表名 2. 列名

 

通配符
-:一个字符

%:任意长度的字符串

[]:括号中所指定范围内的一个字符

[^]:不在括号中所指定范围内的任意一个字符

聚合函数
SUM() 总和
AVG() 平均值
MAX() 最大值
MIN() 最小值
COUNT() 计数
字符串函数

charindex 查找一个指定字符串在 select charindex(‘a’,’name’)
另一个字符串中的起始位置 返回 2

len 字符串长度 select len(‘name’) 返回 4

upper 转大写 select upper(‘name’) 返回 NAME

ltrim 清除字符左边的空格 select upper(‘ name ‘)
返回 “name “

rtrim 清除字符右边的空格 select upper(‘ name ‘)
返回 ” name”

right 从字符串右边返回指定数目的字符 select right(‘name’,2) 返回 me

replace 替换一个字符串中的字符 select replace(‘name’,’a’,’b’)
返回 nbme

stuff 在一个字符串中,select stuff(‘name’,2,3,’bsp’)
删除指定长度的字符,返回 nbsp
并在该位置插入一个新的字符

 日期函数

getdate 取得当前系统消息 select getdate() 返回当前的日期

dateadd 将指定的数值添加到指定的 select dateadd(mm,4,’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/2009′)
返回 15

日期部分参数及缩写

year yy,yyyy 年份
quarter qq,q 季节
month mm,m 月份
dayofyear dy,y 一年中的第几天
day dd,d 天数
week wk,ww 第几周
weekday dw,w 周几
hour hh,h 小时
minute mi,n 分
second ss,s 秒
minllisecond ms 毫秒

 

数学函数

rand 从 0 - 1 之间的随机 float 值 select rand() 返回 0.79854628433

abs 取数值表达式的绝对值 select abs(-43) 返回 43

ceiling 向上取整,取大于或等于 select ceiling(43.5) 返回 44
指定数值,表达式的最小整数

floor 向下取整,取小于或等于 select floor(43.5) 返回 43
指定表达式的最大整数

power 取数值表达式的幂值 select power(5,2) 返回 25

round 将数值表达式四舍五入为指定精度 select round(43.54,1) 返回 43.50

sign 正数返回 +1,负数返回 -1,0 返回 0 select round(-43) 返回 -1

sqrt 取浮点表达式的平方根 select sqrt(9) 返回 3

系统函数

convert 转换数据类型 select convert(varchar(5),12345)
返回 12345

current_user 返回当前用户的名字 select current_user()
返回 你登陆的用户名

datalenght 返回指定表达式的字节数 select datalenght(‘name’) 返回 4

host_name 返回当前用户登录的计算机名字 select host_name()

system_user 返回当前所登录的用户名称 select system_user()

user_name 从给定的用户 ID 返回用户名 select user_name(1)
返回 从任意数据库中返回“dbo”

数据类型
二进制 非字符和文本 binary 固定长度
varbinary 可变长度
image 图片

字符 字母、符号、数字 char 固定长度非 Unicode 字符数据
varchar 可变长度非 Unicode 字符数据
nchar 固定长度 Unicode 字符数据
nvarchar 可变长度 Unicode 字符数据
text 长文本信息
ntext 可变长度长文本信息

日期和时间 日期、时间 datetime 1753-1- 1 到 9999-12-31,准确度三百分之一秒或 3.33 毫秒

数字 正数、负数、分数 int 整数
smallint
 tinyint
 bigint
 float 浮点数
real

货币 十进制货币值,精 money
确到小数点后 4 位

bit 表示 是 / 否 bit 布尔数据类型

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计2763字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中