sql常用语法和例句

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常用语法和例句)