linuxsir首页 LinuxSir.Org | Linux、BSD、Solaris、Unix | 开源传万世,因有我参与欢迎您!
网站首页 | 设为首页 | 加入收藏
您所在的位置:主页 > Linux数据库 >

SQL基本语法和书写格式

时间:2019-06-11  来源:未知  作者:admin666

插入
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 布尔数据类型

Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

友情链接
  • Mozilla发布Firefox 67.0.4,修复沙箱逃逸漏洞
  • 蚂蚁金服正式成为CNCF云原生计算基金会黄金会员
  • Firefox 68将采用Microsoft BITS安装更新
  • OpenSSH增加对存储在RAM中的私钥的保护
  • 谷歌想实现自己的curl,为什么?
  • Raspberry Pi 4发布:更快的CPU、更大的内存
  • Firefox的UA将移除CPU架构信息
  • Ubuntu放弃支持32位应用程序实属乌龙,Steam会否重回Ubuntu怀抱
  • Qt 5.13稳定版发布:引入glTF 2.0、改进Wayland以及支持Lottie动
  • 红帽企业Linux 7现已内置Redis 5最新版
  • Slack进入微软内部禁用服务清单,GitHub也在其列?
  • 安全的全新编程语言V发布首个可用版本
  • Windows Terminal已上架,快尝鲜
  • 阿里巴巴微服务开源生态报告No.1
  • 面世两年,Google地球将支持所有基于Chromium的浏览器
  • 推进企业容器化持续创新,Rancher ECIC千人盛典完美收官
  • CentOS 8.0最新构建状态公布,或于数周后发布
  • Debian移植RISC
  • 微软拆分操作系统的计划初现雏形
  • Oracle发布基于VS Code的开发者工具,轻松使用Oracle数据库
  • Ubuntu 19.10停止支持32位的x86架构
  • 微软为Windows Terminal推出全新logo
  • 联想ThinkPad P系列笔记本预装Ubuntu系统
  • 微软发布适用于Win7/8的Microsoft Edge预览版
  • 启智平台发布联邦学习开源数据协作项目OpenI纵横
  • 经过六个多月的延迟,微软终于推出Hyper
  • ZFS On Linux 0.8.1 发布,Python可移植性工作
  • DragonFly BSD 5.6.0 发布,HAMMER2状态良好
  • Linux Kernel 5.2
  • CentOS 8.0 看起来还需要几周的时间
  • 百度网盘Linux版正式发布
  • PCIe 6.0宣布:带宽翻倍 狂飙至256GB/s
  • PHP 7.4 Alpha 发布,FFI扩展,预加载Opcache以获得更好的性能
  • Canonical将在未来的Ubuntu版本中放弃对32位架构的支持
  • Scala 2.13 发布,改进的编译器性能
  • 微软的GitHub收购了Pull Panda,并且使所有订阅完全免费
  • Windows Subsystem for Linux 2 (WSL 2)现在适用于Windows 10用
  • Debian 10 “Buster”的RISC
  • MariaDB宣布发布MariaDB Enterprise Server 10.4
  • DXVK 1.2.2 发布,带来微小的CPU开销优化
  • DragonFlyBSD 5.6 RC1 发布,VM优化,默认为HAMMER2
  • PrimeNG 8.0.0 发布,支持Angular 8,FocusTrap等
  • GIMP 2.10.12 发布,一些有用的改进
  • 清华大学Anaconda 镜像服务即将恢复
  • Debian GNU/Linux 10 “Buster” 操作系统将于2019年7月6日发布
  • 时时彩论坛
  • 五星体育斯诺克
  • 北单比分直播
  • 河北11选5走势图
  • 福建体彩36选7开奖结果
  • 九龙图库下载