sql常用語法和例句

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)鍵字會從左表 (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)鍵字會右表 (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)鍵字就會返回行。

語法:

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 擁有自動定義的 UNIQUE 約束。

請注意,每個(gè)表可以有多個(gè) UNIQUE 約束,但是每個(gè)表只能有一個(gè) PRIMARY KEY 約束。


## primary key

PRIMARY KEY 約束唯一標(biāo)識數(shù)據(jù)庫表中的每條記錄。

主鍵必須包含唯一的值。

主鍵列不能包含 NULL 值。

每個(gè)表都應(yīng)該有一個(gè)主鍵,并且每個(gè)表只能有一個(gè)主鍵。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 系統(tǒng)用戶: 1.sys system(sys權(quán)限最高) 2.sysman(操作企業(yè)管理器) 密碼是安裝的時(shí)候輸入的...
    3hours閱讀 1,710評論 0 0
  • SQL 是用于訪問和處理數(shù)據(jù)庫的標(biāo)準(zhǔn)的計(jì)算機(jī)語言,使用 SQL 訪問和處理數(shù)據(jù)系統(tǒng)中的數(shù)據(jù),這類數(shù)據(jù)庫包括:Ora...
    子非魚_t_閱讀 905評論 0 3
  • 先總結(jié) sql語句按W3Cschool上分類有數(shù)據(jù)庫操作語言和數(shù)據(jù)庫定義語言兩個(gè)部分組成,根據(jù)那那種分法可以讓我們...
    一介文夫閱讀 5,769評論 1 22
  • LIKE 操作符LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。SQL LIKE 操作符語法SELE...
    一曲廣陵散閱讀 432評論 0 0
  • 晴天,今天的校園傭有著無限生機(jī),一縷陽光灑入我們的教室。新的一天又開始了,哪里有少年,哪里就有青春,是的,每一...
    徐亞杰閱讀 207評論 0 0

友情鏈接更多精彩內(nèi)容