美文网首页
sql常用语法和例句

sql常用语法和例句

作者: A袁灿 | 来源:发表于2019-02-15 13:46 被阅读0次

    un## select

    语法:

    SELECT 列名称 FROM 表名称

    例句 :

    SELECT * FROM userinfo

    SELECT UserName, UserPass  FROM userinfo

    ## distinct

    关键词 DISTINCT 用于返回唯一不同的值。

    语法:

    SELECT DISTINCT 列名称 FROM 表名称

    例句:

    SELECT DISTINCT UserPass FROM userinfo

    ## where

    如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。

    语法:

    SELECT 列名称 FROM 表名称 WHERE 列 运算符 值

    例句

    SELECT UserName FROM userinfo WHERE Id = 5

    ## order by

    ORDER BY 语句用于根据指定的列对结果集进行排序。降序可以使用 DESC 关键字;升序可以使用 ASC 关键字

    例句:

    SELECT UserName, UserPass FROM userinfo ORDER BY UserName DESC,  UserPass ASC

    ## upadate

    用来更新表中的行

    语法:

    UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

    例句:

    UPDATE userinfo SET UserName = '张三' where Id = '5'

    ## delete

    用来删除表中的行

    语法:

    DELETE FROM 表名称 WHERE 列名称 = 值

    例句:

    DELETE FROM userinfo WHERE Id = '6'

    ## top

    top子句用于规定要返回的记录的数目

    sql Server 的语法:

    SELECT TOP number|percent 列名称 FROM 表名

    mysql语法:

    SELECT 列名称 FROM 表名 LIMIT number

    例句:

    SELECT UserName FROM userinfo LIMIT 5

    ## like

    like操作符用于在where子句中搜索列中的指定模式

    语法:

    SELECT 列名称 FROM 表名 WHERE 列名称 LIKEE pattern;

    例句:

    SELECT UserName FROM userinfo   WHERE UserPass  = ‘%n%’

    "%" 可用于定义通配符(模式中缺少的字母)

    ## 通配符

    %   通用来替代一个或多个字符

    _    仅替代一个字符

    [charlist] 字符列中的任何单一字符

    [^charlist]  [!charlist]  不在字符列中的任何单一字符

    ## in

    in操作符允许我们在where子句中规定多个值

    语法:

    SELECT 列名称 FROM 表名 WHERE 列名称 in (value1, value2,…)

    例句:

    SELECT * FROM userinfo WHERe UserName IN ('apple', 'ibm');

    ## between

    操作符BETWEEN…AND 回选取介于两个值之间的数据范围。这些值可以可以是数值、文本或者日期。

    语法:

    SELECT 列名称 FROM 表名称 WHERE 列名称 BETWEEN value 1 AND value2

    例句:

    SELECT * FROM userinfo WHERE Id BETWEEN 4 and 10

    ## alias

    通过alias可以为列名称和表名称指定别名。

    表的alias语法:

    SELECT 列名称 FROM 表名 AS 别名

    语法:

    SELECT UserName, UserPass FROM userinfo As u where u .Id = '5'

    列的alias语法:

    SELECT 列名称 AS 别名 FROM 表名

    例句 :

    SELECT UserName AS Name, UserPass AS Pass FROM userinfo

    ## join /inner join

    用于根据两个或多个表中的列之间的关系,从这些表中查询数据

    语法:

    SELECT 列名 FROM 表名1  INNER JOIN  表名2  ON    table_name1.column_name=table_name2.column_name

    例句:

     SELECT u.UserPass, s.FirstName FROM userinfo as u INNER JOIN  students as s ON u.Id = s.Id;

    # left join / right join / full join

    LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。

    语法:

    SELECT    column_name    FROM    table_name1     LEFT  JOIN    table_name2    ON    table_name1.column_name = table_name2.column_name

    RIGHT JOIN 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行。

    语法:

    SELECT    column_name    FROM table_name1    RIGHT  JOIN   table_name2    ON    table_name1.column_name = table_name2.column_name

     FULL  JOIN只要其中某个表存在匹配,FULL JOIN 关键字就会返回行。

    语法:

    SELECT    column_name    FROM table_name1    FULL  JOIN   table_name2    ON    table_name1.column_name = table_name2.column_name

    ## union 

    union 用于合并两个或多个SELECT语句的结果集

    UNION 内部的SELECT语句必须拥有相同数量的列。列必须拥有相似的数据类型。同时,每条SELECT语句中的列的顺序必须相同。

    union 语法:

    SELECT  colume_name1  From  table_name1

    UNION

    SELECT  colume_name2  From  table_name2

    注释:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。

    例句:

    SELECT UserName From userinfo UNION SELECT FirstName From students;

    union all 语法:

    SELECT  colume_name1  From  table_name1

    UNION ALL

    SELECT  colume_name2  From  table_name2

    例句:

    SELECT UserName From userinfo UNION   ALL   SELECT FirstName From students;

    ## select into

    SELECT INTO 语句从一个表中选取数据,然后把数据插入到另一个表中。

    SLEECT INTO 语法常用于创建表的备份附件或者用于对记录进行存档。

    语法:

    SELECT  column_name  INTO  table_name1  [IN externaldatabase]  FROM  table_name2

    ## create database

    create database 用于创建数据库。

    语法:

    CREATE  DATABASE  database_name;

    ## create table

    create table 用于创建数据库中的表

    语法:

    CREATE  TABLE  table_name  {
        column_name1  数据类型,

        column_name2  数据类型

        ……
    }

    例句: 

    CREATE TABLE Persons  (

        Id_P intNOT NULL,

        LastName varchar(255)NOT NULL,

        FirstName varchar(255),

        Address varchar(255),City varchar(255)

    )

    nteger(size)  int(size)  smallint(size)   tinyint(size)         仅容纳整数。在括号内规定数字的最大位数。

    decimal(size,d)  numeric(size,d)        容纳带有小数的数字。"size" 规定数字的最大位数。"d" 规定小数点右侧的最大位数。

    char(size)    容纳固定长度的字符串(可容纳字母、数字以及特殊字符)。在括号中规定字符串的长度。

    varchar(size)    容纳可变长度的字符串(可容纳字母、数字以及特殊的字符)。在括号中规定字符串的最大长度。

    date(yyyymmdd)    容纳日期。

    ## not null

    NOT NULL 约束强制列不接受 NULL 值。

    NOT NULL 约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新记录或者更新记录。

    ## unique

    UNIQUE 约束唯一标识数据库表中的每条记录。

    UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。

    PRIMARY KEY 拥有自动定义的 UNIQUE 约束。

    请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。

    ## primary key

    PRIMARY KEY 约束唯一标识数据库表中的每条记录。

    主键必须包含唯一的值。

    主键列不能包含 NULL 值。

    每个表都应该有一个主键,并且每个表只能有一个主键。

    相关文章

      网友评论

          本文标题:sql常用语法和例句

          本文链接:https://www.haomeiwen.com/subject/llfotqtx.html