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 值。
每个表都应该有一个主键,并且每个表只能有一个主键。
网友评论