SQL基礎(chǔ):常用SQL語句詳解 (轉(zhuǎn))
時間:2009-06-11 08:57 來源:本站原創(chuàng) 作者:yanglilibaobao () 閱讀:次
到今天為止,人們對關(guān)系數(shù)據(jù)庫做了大量的研究,并開發(fā)出關(guān)系數(shù)據(jù)語言,為操作關(guān)系數(shù)據(jù)庫提供了方便的用戶接口。關(guān)系數(shù)據(jù)語言目前有幾十種,具有增加、刪除、修改、查詢、數(shù)據(jù)定義與控制等完整的數(shù)據(jù)庫操作功能。通常把它們分為兩類:關(guān)系代數(shù)類和關(guān)系演算類。
在這些語言中,結(jié)構(gòu)化查詢語言SQL以其強(qiáng)大的數(shù)據(jù)庫操作功能、口語化、易學(xué)易用等特點(diǎn),受到廣泛的應(yīng)用,成為數(shù)據(jù)庫應(yīng)用程序開發(fā)的一柄利劍。在數(shù)據(jù)庫應(yīng)用程序開發(fā)過程中,巧妙地使用SQL語句,可以簡化編程,起到事半功倍的效果,本書中有些實(shí)例也大量使用了SQL語句。它由兩部分組成,數(shù)據(jù)定義語言(DDL)和數(shù)據(jù)操作語言(DML)。
(1) 數(shù)據(jù)定義語言(DDL)
數(shù)據(jù)定義語言用來定義數(shù)據(jù)庫的各級模式。常用關(guān)鍵字有:Create(建立數(shù)據(jù)表)、Alter(更改數(shù)據(jù)表)、Drop(刪除數(shù)據(jù)表)。
建立數(shù)據(jù)表
CREATE TABLE table_name(
column1 DATATYPE [NOT NULL] [NOT NULL PRIMARY KEY],
column2 DATATYPE [NOT NULL],
...
)
說明:上面的DATATYPE 指的是字段的類型,NUT NULL 指是否為空,PRIMARY KEY 指本表的主鍵。
建立索引
CREATE INDEX index_name ON table_name (column_name)
說明:為數(shù)據(jù)表格的某個字段建立索引以增加查詢時的速度。
更改數(shù)據(jù)表
ALTER TABLE table_name ADD COLUMN column_name DATATYPE
說明:增加一個字段。
ALTER TABLE table_name ADD PRIMARY KEY (column_name)
說明:將某個字段設(shè)為主鍵。
ALTER TABLE table_name DROP PRIMARY KEY (column_name)
說明:將某個字段的主鍵定義取消。
刪除數(shù)據(jù)表
DROP table_name
DROP index_name
(2) 數(shù)據(jù)操作語言(DML)
數(shù)據(jù)操作語言(DML)用于操作數(shù)據(jù)表,如增加、刪除、查詢、修改等。常用關(guān)鍵字有:Insert(插入數(shù)據(jù))、Delete(刪除數(shù)據(jù))、Select(查詢數(shù)據(jù))和Updata(修改數(shù)據(jù))。
插入數(shù)據(jù)
INSERT INTO table_name(column1,column2,...) VALUES
(value1,value2, ...)
說明:在插入語句中,若不指明要插入字段則,按表中的字段順序依次插入。另外,插入數(shù)據(jù)的類型應(yīng)和所插入字段的類型相匹配。
INSERT INTO table_name (column1,column2,...) SELECT
columnx,columny,...
FROM another_table
說明:通過一個子查詢將別的表格相應(yīng)字段的值插入該表格。
刪除數(shù)據(jù)
DELETE FROM table_name WHERE conditions
說明:刪除符合條件的記錄。
查詢數(shù)據(jù)
SELECT column1,columns2,... FROM table_name
說明:把table_name 的相應(yīng)字段查詢出來。
SELECT * FROM table_name WHERE column1 = x AND column2 > y
說明:這是一個帶有條件的查詢語句,‘*‘表示查詢所有的字段,WHERE 之后是條件表達(dá)式。
SELECT column1,column2 FROM table_name ORDER BY column2
[DESC]
說明:ORDER BY 是指定以某個字段排序,[DESC]是指從大到小排列,若沒有指明,則是從小到大排列。
SELECT * FROM table1,table2 WHERE
table1.colum1=table2.column1
說明:這是一個組合查詢,查詢兩個表格中 column1
字段具有相同值的記錄。作為兩個表中建立關(guān)系的字段,其類型必須匹配。
SELECT COUNT (*) FROM table_name WHERE column_name = x
說明:查詢符合條件的記錄數(shù)。
SELECT SUM(column1) FROM table_name
說明:計(jì)算column1字段的數(shù)據(jù)總和。除了SUM之外,還可以用AVG()計(jì)算平均值
、用MAX()計(jì)算最大值、用MIN()計(jì)算最小值。
SELECT * FROM table_name1 WHERE EXISTS (SELECT * FROM
table_name2 WHERE
conditions)
說明:這條查詢語句用一個子查詢語句作為該查詢語句的條件。EXISTS指是否存在。
SELECT * FROM table_name1 WHERE column1 IN (SELECT column1
FROM
table_name2 WHERE conditions )
說明:IN后面接的是一個集合,表示將column1字段的值在集合中的所有記錄從table_name1表中選出來。
SELECT * FROM table_name1 WHERE column1 LIKE ‘x%‘
說明:該語句為模糊查詢。這里的“%”是一個通配符,表示將column1字段中以x開頭的所有記錄選出來。
SELECT * FROM table_name1 WHERE column1 BETWEEN x AND y
說明:BETWEEN 表示 column1 的值介于 x 和 y之間。
更改資料
UPDATE table_name SET column1=‘x‘ WHERE conditions
說明:該語句表示在某種條件下將column1字段的值改為x。若不加條件,則默認(rèn)該字段全部更改。
以上是最基本的SQL語法知識,若想更深層次的了解,請參閱數(shù)據(jù)庫方面的書籍
在這些語言中,結(jié)構(gòu)化查詢語言SQL以其強(qiáng)大的數(shù)據(jù)庫操作功能、口語化、易學(xué)易用等特點(diǎn),受到廣泛的應(yīng)用,成為數(shù)據(jù)庫應(yīng)用程序開發(fā)的一柄利劍。在數(shù)據(jù)庫應(yīng)用程序開發(fā)過程中,巧妙地使用SQL語句,可以簡化編程,起到事半功倍的效果,本書中有些實(shí)例也大量使用了SQL語句。它由兩部分組成,數(shù)據(jù)定義語言(DDL)和數(shù)據(jù)操作語言(DML)。
(1) 數(shù)據(jù)定義語言(DDL)
數(shù)據(jù)定義語言用來定義數(shù)據(jù)庫的各級模式。常用關(guān)鍵字有:Create(建立數(shù)據(jù)表)、Alter(更改數(shù)據(jù)表)、Drop(刪除數(shù)據(jù)表)。
建立數(shù)據(jù)表
CREATE TABLE table_name(
column1 DATATYPE [NOT NULL] [NOT NULL PRIMARY KEY],
column2 DATATYPE [NOT NULL],
...
)
說明:上面的DATATYPE 指的是字段的類型,NUT NULL 指是否為空,PRIMARY KEY 指本表的主鍵。
建立索引
CREATE INDEX index_name ON table_name (column_name)
說明:為數(shù)據(jù)表格的某個字段建立索引以增加查詢時的速度。
更改數(shù)據(jù)表
ALTER TABLE table_name ADD COLUMN column_name DATATYPE
說明:增加一個字段。
ALTER TABLE table_name ADD PRIMARY KEY (column_name)
說明:將某個字段設(shè)為主鍵。
ALTER TABLE table_name DROP PRIMARY KEY (column_name)
說明:將某個字段的主鍵定義取消。
刪除數(shù)據(jù)表
DROP table_name
DROP index_name
(2) 數(shù)據(jù)操作語言(DML)
數(shù)據(jù)操作語言(DML)用于操作數(shù)據(jù)表,如增加、刪除、查詢、修改等。常用關(guān)鍵字有:Insert(插入數(shù)據(jù))、Delete(刪除數(shù)據(jù))、Select(查詢數(shù)據(jù))和Updata(修改數(shù)據(jù))。
插入數(shù)據(jù)
INSERT INTO table_name(column1,column2,...) VALUES
(value1,value2, ...)
說明:在插入語句中,若不指明要插入字段則,按表中的字段順序依次插入。另外,插入數(shù)據(jù)的類型應(yīng)和所插入字段的類型相匹配。
INSERT INTO table_name (column1,column2,...) SELECT
columnx,columny,...
FROM another_table
說明:通過一個子查詢將別的表格相應(yīng)字段的值插入該表格。
刪除數(shù)據(jù)
DELETE FROM table_name WHERE conditions
說明:刪除符合條件的記錄。
查詢數(shù)據(jù)
SELECT column1,columns2,... FROM table_name
說明:把table_name 的相應(yīng)字段查詢出來。
SELECT * FROM table_name WHERE column1 = x AND column2 > y
說明:這是一個帶有條件的查詢語句,‘*‘表示查詢所有的字段,WHERE 之后是條件表達(dá)式。
SELECT column1,column2 FROM table_name ORDER BY column2
[DESC]
說明:ORDER BY 是指定以某個字段排序,[DESC]是指從大到小排列,若沒有指明,則是從小到大排列。
SELECT * FROM table1,table2 WHERE
table1.colum1=table2.column1
說明:這是一個組合查詢,查詢兩個表格中 column1
字段具有相同值的記錄。作為兩個表中建立關(guān)系的字段,其類型必須匹配。
SELECT COUNT (*) FROM table_name WHERE column_name = x
說明:查詢符合條件的記錄數(shù)。
SELECT SUM(column1) FROM table_name
說明:計(jì)算column1字段的數(shù)據(jù)總和。除了SUM之外,還可以用AVG()計(jì)算平均值
、用MAX()計(jì)算最大值、用MIN()計(jì)算最小值。
SELECT * FROM table_name1 WHERE EXISTS (SELECT * FROM
table_name2 WHERE
conditions)
說明:這條查詢語句用一個子查詢語句作為該查詢語句的條件。EXISTS指是否存在。
SELECT * FROM table_name1 WHERE column1 IN (SELECT column1
FROM
table_name2 WHERE conditions )
說明:IN后面接的是一個集合,表示將column1字段的值在集合中的所有記錄從table_name1表中選出來。
SELECT * FROM table_name1 WHERE column1 LIKE ‘x%‘
說明:該語句為模糊查詢。這里的“%”是一個通配符,表示將column1字段中以x開頭的所有記錄選出來。
SELECT * FROM table_name1 WHERE column1 BETWEEN x AND y
說明:BETWEEN 表示 column1 的值介于 x 和 y之間。
更改資料
UPDATE table_name SET column1=‘x‘ WHERE conditions
說明:該語句表示在某種條件下將column1字段的值改為x。若不加條件,則默認(rèn)該字段全部更改。
以上是最基本的SQL語法知識,若想更深層次的了解,請參閱數(shù)據(jù)庫方面的書籍
(責(zé)任編輯:admin)
頂一下
(0)
0%
踩一下
(0)
0%
相關(guān)內(nèi)容
- ·VBA編程常用語句300句
- ·SQL基礎(chǔ):常用SQL語句詳解 (轉(zhuǎn))
- ·Sql和Access操作數(shù)據(jù)庫結(jié)構(gòu)的常用Sql
- ·多表查詢技巧
- ·ACCESS學(xué)習(xí)日記
- ·Oracle數(shù)據(jù)庫EXP、IMP命令語句使用方法
- ·SQL注入的高級應(yīng)用ACCESS篇!
- ·MS Jet SQL for A
- ·代碼打開頁面設(shè)置
- ·龍芯千元電腦配置曝光 商用化產(chǎn)品
- ·神州數(shù)碼爭搶國內(nèi)IT人才 開始校園
- ·聯(lián)合證券研究所:IT專業(yè)連鎖 家電
- ·傳臺灣新浪將出售 新浪官方并未否
- ·朗科起訴索尼跨國專利案和解 雙方
- ·傳英特爾向?qū)κ滞⑹〾?nbsp;要求其退
- ·批量去除通過ODBC連接到SQL Serve
最新內(nèi)容
推薦內(nèi)容