sql中的語句,
選擇:select * from table1 where 范圍
插入:insert into table1(field1,field2) values(value1,value2)
刪除:delete from table1 where 范圍
更新:update table1 set field1=value1 where 范圍
查找:select * from table1 where field1 like '%字%'
---like '%字%'=列中所含的字的行, ---like '字%'=列中以字開頭的行,
---like '%字'=列中以字結尾的行。
排序:select * from table1 order by field1,field2 desc
總數:select count * as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1
注:field1=列名,,table1=表名,
數據庫中常用的sql語句有哪些
1.檢索數據 SELECT prod_nameFROM Products;#檢索單列 SELECT prod_id, prod_name, prod_priceFROMProducts;#檢索多列 SELECT * FROM Products;#檢索所有列 SELECT DISTINCTvend_id FROMProducts;#檢索不同的值 SELECTprod_name FROM Products LIMIT 5;#返回不超過5行數據 SELECTprod_name FROM Products LIMIT 5 OFFSET 5;#返回從第5行起的5行數據。
LIMIT指定返回的行數,LIMIT帶的OFFSET指定從哪兒開始。2.排序檢索數據 SELECTprod_name FROMProducts ORDER BYprod_name;#排序數據 SELECT prod_id, prod_price, prod_name FROMProducts ORDER BY prod_price, prod_name;#按多個列排序 SELECT prod_id, prod_price, prod_name FROMProducts ORDER BY 2, 3;#按列位置排序,第三行表示先按prod_price, 再按prod_name進行排序 SELECT prod_id, prod_price, prod_name FROMProducts ORDER BY prod_priceDESC, prod_name;#prod_price列以降序排序,而prod_name列(在每個價格內)仍然按標準的升序排序3.過濾數據 SELECT prod_name, prod_price FROMProducts WHERE prod_price#檢查單個值 SELECT prod_name, prod_price FROMProducts WHERE vend_id 'DLL01';#不匹配檢查 SELECT prod_name, prod_price FROMProducts WHERE prod_priceBETWEEN 5 AND 10;#范圍值檢查 SELECT cust_name FROMCUSTOMERS WHERE cust_emailIS NULL;#空值檢查4.高級數據過濾 SELECTprod_id, prod_price, prod_name FROMProducts WHERE vend_id = 'DLL01'ANDprod_price #AND操作符 SELECTprod_name, prod_price FROMProducts WHEREvend_id='DLL01' OR vend_id='BRS01';#OR操作符 SELECTprod_name, prod_price FROMProducts WHERE (vend_id = 'DLL01'ORvend_id='BRS01') ANDprod_price >= 10;#求值順序 AND的優先級高于OR SELECTprod_name, prod_price FROMProducts WHERE vend_idIN ('DLL01','BRS01') ORDER BY prod_name;#IN操作符 SELECT prod_name FROMProducts WHERE NOTvend_id = 'DLL01' ORDER BY prod_name;#NOT 操作符 SELECT prod_name FROMProducts WHEREvend_id 'DLL01' ORDER BY prod_name;#NOT 操作符。
SQL最基本的語句是哪些
掌握SQL四條最基本的數據操作語句:Insert,Select,Update和Delete。
練掌握SQL是數據庫用戶的寶貴財 富。在本文中,我們將引導你掌握四條最基本的數據操作語句?SQL的核心功能?來依次介紹比較操作符、選擇斷言以及三值邏輯。
當你完成這些學習后,顯然你已經開始算是精通SQL了。在我們開始之前,先使用CREATE TABLE語句來創建一個表(如圖1所示)。
DDL語句對數據庫對象如表、列和視進行定義。它們并不對表中的行進行處理,這是因為DDL語句并不處理數據庫中實際的數據。
這些工作由另一類SQL語句?數據操作語言(DML)語句進行處理。SQL中有四種基本的DML操作:INSERT,SELECT,UPDATE和DELETE。
由于這是大多數SQL用戶經常用到的,我們有必要在此對它們進行一一說明。在圖1中我們給出了一個名為EMPLOYEES的表。
其中的每一行對應一個特定的雇員記錄。請熟悉這張表,我們在后面的例子中將要用到它。
INSERT語句用戶可以用INSERT語句將一行記錄插入到指定的一個表中。例如,要將雇員John Smith的記錄插入到本例的表中,可以使用如下語句:INSERT INTO EMPLOYEES VALUES('Smith','John','1980-06-10','Los Angles',16,45000);通過這樣的INSERT語句,系統將試著將這些值填入到相應的列中。
這些列按照我們創建表時定義的順序排列。在本例中,第一個值“Smith”將填到第一個列LAST_NAME中;第二個值“John”將填到第二列FIRST_NAME中……以此類推。
我們說過系統會“試著”將值填入,除了執行規則之外它還要進行類型檢查。如果類型不符(如將一個字符串填入到類型為數字的列中),系統將拒絕這一次操作并返回一個錯誤信息。
如果SQL拒絕了你所填入的一列值,語句中其他各列的值也不會填入。這是因為SQL提供對事務的支持。
一次事務將數據庫從一種一致性轉移到另一種一致性。如果事務的某一部分失敗,則整個事務都會失敗,系統將會被恢復(或稱之為回退)到此事務之前的狀態。
回到原來的INSERT的例子,請注意所有的整形十進制數都不需要用單引號引起來,而字符串和日期類型的值都要用單引號來區別。為了增加可讀性而在數字間插入逗號將會引起錯誤。
記住,在SQL中逗號是元素的分隔符。同樣要注意輸入文字值時要使用單引號。
雙引號用來封裝限界標識符。對于日期類型,我們必須使用SQL標準日期格式(yyyy-mm-dd),但是在系統中可以進行定義,以接受其他的格式。
當然,2000年臨近,請你最好還是使用四位來表示年份。既然你已經理解了INSERT語句是怎樣工作的了,讓我們轉到EMPLOYEES表中的其他部分:INSERT INTO EMPLOYEES VALUES('Bunyan','Paul','1970-07-04','Boston',12,70000);INSERT INTO EMPLOYEES VALUES('John','Adams','1992-01-21','Boston',20,100000);INSERT INTO EMPLOYEES VALUES('Smith','Pocahontas','1976-04-06','Los Angles',12,100000);INSERT INTO EMPLOYEES VALUES('Smith','Bessie','1940-05-02','Boston',5,200000);INSERT INTO EMPLOYEES VALUES('Jones','Davy','1970-10-10','Boston',8,45000);INSERT INTO EMPLOYEES VALUES('Jones','Indiana','1992-02-01','Chicago',NULL,NULL);在最后一項中,我們不知道Jones先生的工薪級別和年薪,所以我們輸入NULL(不要引號)。
NULL是SQL中的一種特殊情況,我們以后將進行詳細的討論。現在我們只需認為NULL表示一種未知的值。
有時,像我們剛才所討論的情況,我們可能希望對某一些而不是全部的列進行賦值。除了對要省略的列輸入NULL外,還可以采用另外一種INSERT語句,如下:INSERT INTO EMPLOYEES(FIRST_NAME, LAST_NAME,HIRE_DATE, BRANCH_OFFICE)VALUE('Indiana','Jones','1992-02-01','Indianapolis');這樣,我們先在表名之后列出一系列列名。
未列出的列中將自動填入缺省值,如果沒有設置缺省值則填入NULL。請注意我們改變了列的順序,而值的順序要對應新的列的順序。
如果該語句中省略了FIRST_NAME和LAST_NAME項(這兩項規定不能為空),SQL操作將失敗。讓我們來看一看上述INSERT語句的語法圖:INSERT INTO table[(column { ,column})]VALUES(columnvalue [{,columnvalue}]);和前一篇文章中一樣,我們用方括號來表示可選項,大括號表示可以重復任意次數的項(不能在實際的SQL語句中使用這些特殊字符)。
VALUE子句和可選的列名列表中必須使用圓括號。SELECT語句SELECT語句可以從一個或多個表中選取特定的行和列。
因為查詢和檢索數據是數據庫管理中最重要的功能,所以SELECT語句在SQL中是工作量最大的部分。實際上,僅僅是訪問數據庫來分析數據并生成報表的人可以對其他SQL語句一竅不通。
SELECT語句的結果通常是生成另外一個表。在執行過程中系統根據用戶的標準從數據庫中選出匹配的行和列,并將結果放到臨時的表中。
在直接SQL(direct SQL)中,它將結果顯示在終端的顯示屏上,或者將結果送到打印機或文件中。也可以結合其他SQL語句來將結果放到一個已知名稱的表中。
SELECT語句功能。
sql語句大全
SQL查詢語句大全集錦一、 簡單查詢 簡單的Transact-SQL查詢只包括選擇列表、FROM子句和WHERE子句。
它們分別說明所查詢列、查詢的表或視圖、以及搜索條件等。例如,下面的語句查詢testtable表中姓名為“張三”的nickname字段和email字段。
代碼:SELECT `nickname`,`email`FROM `testtable`WHERE `name`='張三' (一) 選擇列表選擇列表(select_list)指出所查詢列,它可以是一組列名列表、星號、表達式、變量(包括局部變量和全局變量)等構成。1、選擇所有列 例如,下面語句顯示testtable表中所有列的數據:代碼:SELECT * FROM testtable2、選擇部分列并指定它們的顯示次序查詢結果集合中數據的排列順序與選擇列表中所指定的列名排列順序相同。
例如:代碼:SELECT nickname,email FROM testtable3、更改列標題在選擇列表中,可重新指定列標題。定義格式為:列標題=列名列名 列標題如果指定的列標題不是標準的標識符格式時,應使用引號定界符,例如,下列語句使用漢字顯示列標題:代碼:SELECT 昵稱=nickname,電子郵件=email FROM testtable4、刪除重復行SELECT語句中使用ALL或DISTINCT選項來顯示表中符合條件的所有行或刪除其中重復的數據行,默認為ALL。
使用DISTINCT選項時,對于所有重復的數據行在SELECT返回的結果集合中只保留一行。5、限制返回的行數使用TOP n [PERCENT]選項限制返回的數據行數,TOP n說明返回n行,而TOP n PERCENT時,說明n是表示一百分數,指定返回的行數等于總行數的百分之幾。
例如:代碼:SELECT TOP 2 * FROM `testtable`代碼:SELECT TOP 20 PERCENT * FROM `testtable`(二) FROM子句FROM子句指定SELECT語句查詢及與查詢相關的表或視圖。在FROM子句中最多可指定256個表或視圖,它們之間用逗號分隔。
在FROM子句同時指定多個表或視圖時,如果選擇列表中存在同名列,這時應使用對象名限定這些列所屬的表或視圖。例如在usertable和citytable表中同時存在cityid列,在查詢兩個表中的cityid時應使用下面語句格式加以限定:代碼:SELECT `username`,*FROM `usertable`,`citytable`WHERE *=*在FROM子句中可用以下兩種格式為表或視圖指定別名:代碼:表名 as 別名表名 別名例如上面語句可用表的別名格式表示為:代碼:SELECT `username`,*FROM usertable a,citytable bWHERE *=*SELECT不僅能從表或視圖中檢索數據,它還能夠從其它查詢語句所返回的結果集合中查詢數據。
例如:代碼:SELECT *_fname+*_lnameFROM authors a,titleauthor ta(SELECT `title_id`,`title`FROM `titles`WHERE ` ytd_sales`>10000) AS tWHERE *_id=*_idAND *_id=*_id此例中,將SELECT返回的結果集合給予一別名t,然后再從中檢索數據。(三) 使用WHERE子句設置查詢條件WHERE子句設置查詢條件,過濾掉不需要的數據行。
例如下面語句查詢年齡大于20的數據:代碼:SELECT * FROM usertable WHERE age>20 WHERE子句可包括各種條件運算符:比較運算符(大小比較):>、>=、=、、!>、!=10 AND age代碼:SELECT * FROM `usertable` ORDER BY `age` DESC,`userid` ASC另外,可以根據表達式進行排序。二、 聯合查詢UNION運算符可以將兩個或兩個以上上SELECT語句的查詢結果集合合并成一個結果集合顯示,即執行聯合查詢。
UNION的語法格式為:代碼:select_statementUNION [ALL] selectstatement[UNION [ALL] selectstatement][…n]其中selectstatement為待聯合的SELECT查詢語句。ALL選項表示將所有行合并到結果集合中。
不指定該項時,被聯合查詢結果集合中的重復行將只保留一行。聯合查詢時,查詢結果的列標題為第一個查詢語句的列標題。
因此,要定義列標題必須在第一個查詢語句中定義。要對聯合查詢結果排序時,也必須使用第一查詢語句中的列名、列標題或者列序號。
在使用UNION 運算符時,應保證每個聯合查詢語句的選擇列表中有相同數量的表達式,并且每個查詢選擇表達式應具有相同的數據類型,或是可以自動將它們轉換為相同的數據類型。在自動轉換時,對于數值類型,系統將低精度的數據類型轉換為高精度的數據類型。
在包括多個查詢的UNION語句中,其執行順序是自左至右,使用括號可以改變這一執行順序。例如:查詢1 UNION (查詢2 UNION 查詢3)三、連接查詢 通過連接運算符可以實現多個表查詢。
連接是關系數據庫模型的主要特點,也是它區別于其它類型數據庫管理系統的一個標志。 在關系數據庫管理系統中,表建立時各數據之間的關系不必確定,常把一個實體的所有信息存放在一個表中。
當檢索數據時,通過連接操作查詢出存放在多個表中的不同實體的信息。連接操作給用戶帶來很大的靈活性,他們可以在任何時候增加新的數據類型。
為不同實體創建新的表,爾后通過連接進行查詢。 連接可以在SELECT 語句的FROM子句或WHERE子句中建立,似是而非在FROM子句中指出連接時有助于將連接操作與WHERE子句中的搜索條件區。
數據庫中like語句
在SQL結構化查詢語言中,LIKE語句有著至關重要的作用。
LIKE語句的語法格式是:select * from 表名 where 字段名 like
對應值(子串),它主要是針對字符型字段的,它的作用是在一個字符型字段列中檢索包含對應子串的。
假設有一個數據庫中有個表table1,在table1中有兩個字段,分別是name和sex二者全是字符型數據。現在要在姓名字段中查詢以“張”字開頭的記錄,語句如下:
select * from table1 where name like
"張*"
如果要查詢以“張”結尾的記錄,則語句如下:
select *
from table1 where name like "*張"
這里用到了通配符“*”,可以說,like語句是和通配符分不開的。