un## select
語法:
SELECT 列名稱 FROM 表名稱
例句 :
SELECT * FROM userinfo
SELECT UserName, UserPass? FROM userinfo
## distinct
關(guān)鍵詞 DISTINCT 用于返回唯一不同的值。
語法:
SELECT DISTINCT 列名稱 FROM 表名稱
例句:
SELECT DISTINCT UserPass FROM userinfo
## where
如需有條件地從表中選取數(shù)據(jù)蒂誉,可將 WHERE 子句添加到 SELECT 語句袁铐。
語法:
SELECT 列名稱 FROM 表名稱 WHERE 列 運(yùn)算符 值
例句
SELECT UserName FROM userinfo WHERE Id = 5
## order by
ORDER BY 語句用于根據(jù)指定的列對結(jié)果集進(jìn)行排序焊虏。降序可以使用 DESC 關(guān)鍵字;升序可以使用 ASC 關(guān)鍵字
例句:
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子句用于規(guī)定要返回的記錄的數(shù)目
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%’
"%" 可用于定義通配符(模式中缺少的字母)
## 通配符
%? ?通用來替代一個(gè)或多個(gè)字符
_? ? 僅替代一個(gè)字符
[charlist] 字符列中的任何單一字符
[^charlist]? [!charlist]? 不在字符列中的任何單一字符
## in
in操作符允許我們在where子句中規(guī)定多個(gè)值
語法:
SELECT 列名稱 FROM 表名 WHERE 列名稱 in (value1, value2,…)
例句:
SELECT * FROM userinfo WHERe UserName IN ('apple', 'ibm');
## between
操作符BETWEEN…AND 回選取介于兩個(gè)值之間的數(shù)據(jù)范圍贡羔。這些值可以可以是數(shù)值金闽、文本或者日期届氢。
語法:
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
用于根據(jù)兩個(gè)或多個(gè)表中的列之間的關(guān)系悦污,從這些表中查詢數(shù)據(jù)
語法:
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 關(guān)鍵字會(huì)從左表 (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 關(guān)鍵字會(huì)右表 (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只要其中某個(gè)表存在匹配顷啼,F(xiàn)ULL JOIN 關(guān)鍵字就會(huì)返回行踏枣。
語法:
SELECT? ? column_name? ? FROM?table_name1? ? FULL? JOIN? ?table_name2? ? ON????table_name1.column_name = table_name2.column_name
## union?
union 用于合并兩個(gè)或多個(gè)SELECT語句的結(jié)果集
UNION 內(nèi)部的SELECT語句必須擁有相同數(shù)量的列。列必須擁有相似的數(shù)據(jù)類型钙蒙。同時(shí)茵瀑,每條SELECT語句中的列的順序必須相同。
union?語法:
SELECT? colume_name1? From? table_name1
UNION
SELECT? colume_name2? From? table_name2
注釋:默認(rèn)地躬厌,UNION 操作符選取不同的值马昨。如果允許重復(fù)的值,請使用 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 語句從一個(gè)表中選取數(shù)據(jù)鸿捧,然后把數(shù)據(jù)插入到另一個(gè)表中。
SLEECT INTO 語法常用于創(chuàng)建表的備份附件或者用于對記錄進(jìn)行存檔疙渣。
語法:
SELECT? column_name? INTO? table_name1? [IN externaldatabase]? FROM? table_name2
## create database
create database 用于創(chuàng)建數(shù)據(jù)庫匙奴。
語法:
CREATE? DATABASE? database_name;
## create table
create table 用于創(chuàng)建數(shù)據(jù)庫中的表
語法:
CREATE? TABLE? table_name? {
? ? column_name1? 數(shù)據(jù)類型,
? ? column_name2? 數(shù)據(jù)類型
? ? ……
}
例句:?
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)?????????僅容納整數(shù)昌阿。在括號內(nèi)規(guī)定數(shù)字的最大位數(shù)饥脑。
decimal(size,d)? numeric(size,d)????????容納帶有小數(shù)的數(shù)字。"size" 規(guī)定數(shù)字的最大位數(shù)懦冰。"d" 規(guī)定小數(shù)點(diǎn)右側(cè)的最大位數(shù)灶轰。
char(size)????容納固定長度的字符串(可容納字母、數(shù)字以及特殊字符)刷钢。在括號中規(guī)定字符串的長度笋颤。
varchar(size)????容納可變長度的字符串(可容納字母、數(shù)字以及特殊的字符)内地。在括號中規(guī)定字符串的最大長度伴澄。
date(yyyymmdd)????容納日期。
## not null
NOT NULL 約束強(qiáng)制列不接受 NULL 值阱缓。
NOT NULL 約束強(qiáng)制字段始終包含值非凌。這意味著,如果不向字段添加值荆针,就無法插入新記錄或者更新記錄敞嗡。
## unique
UNIQUE 約束唯一標(biāo)識數(shù)據(jù)庫表中的每條記錄。
UNIQUE 和 PRIMARY KEY 約束均為列或列集合提供了唯一性的保證航背。
PRIMARY KEY 擁有自動(dòng)定義的 UNIQUE 約束喉悴。
請注意,每個(gè)表可以有多個(gè) UNIQUE 約束玖媚,但是每個(gè)表只能有一個(gè) PRIMARY KEY 約束箕肃。
## primary key
PRIMARY KEY 約束唯一標(biāo)識數(shù)據(jù)庫表中的每條記錄。
主鍵必須包含唯一的值今魔。
主鍵列不能包含 NULL 值勺像。
每個(gè)表都應(yīng)該有一個(gè)主鍵,并且每個(gè)表只能有一個(gè)主鍵错森。