zoukankan      html  css  js  c++  java
  • SQL基本语法和书写格式

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

  • 相关阅读:
    python爬取北京政府信件信息03
    Python3.7 lxml引入etree
    python爬取北京政府信件信息02
    python爬取北京政府信件信息01
    2020.12.2收获
    2020.12.1收获
    2020.11.30收获
    2020.11.29收获
    2020.11.28收获
    2020.11.27收获
  • 原文地址:https://www.cnblogs.com/bugo/p/10994407.html
Copyright © 2011-2022 走看看