日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL基础(四):SQL命令

發(fā)布時間:2025/5/22 数据库 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL基础(四):SQL命令 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、CREATE INDEX?語句

  CREATE INDEX 語句用于在表中創(chuàng)建索引。在不讀取整個表的情況下,索引使數(shù)據(jù)庫應(yīng)用程序可以更快地查找數(shù)據(jù)。

  索引:在表中創(chuàng)建索引,以便更加快速高效地查詢數(shù)據(jù)。用戶無法看到索引,它們只能被用來加速搜索/查詢。

  注釋:更新一個包含索引的表需要比更新一個沒有索引的表花費(fèi)更多的時間,這是由于索引本身也需要更新。因此,理想的做法是僅僅在常常被搜索的列(以及表)上面創(chuàng)建索引。

//SQL CREATE INDEX 語法 //在表上創(chuàng)建一個簡單的索引。允許使用重復(fù)的值: CREATE INDEX index_name ON table_name (column_name) //SQL CREATE UNIQUE INDEX 語法 //在表上創(chuàng)建一個唯一的索引。不允許使用重復(fù)的值:唯一的索引意味著兩個行不能擁有相同的索引值。 CREATE UNIQUE INDEX index_name ON table_name (column_name) //注釋:用于創(chuàng)建索引的語法在不同的數(shù)據(jù)庫中不一樣。因此,檢查您的數(shù)據(jù)庫中創(chuàng)建索引的語法。 //在 "Persons" 表的 "LastName" 列上創(chuàng)建一個名為 "PIndex" 的索引: CREATE INDEX PIndex ON Persons (LastName) //如果希望索引不止一個列,可以在括號中列出這些列的名稱,用逗號隔開: CREATE INDEX PIndex ON Persons (LastName, FirstName)

2、?DROP 語句

  DROP語句可以輕松地刪除索引、表和數(shù)據(jù)庫。

  DROP INDEX 語句用于刪除表中的索引。

//用于 MS Access 的 DROP INDEX 語法: DROP INDEX index_name ON table_name //用于 MS SQL Server 的 DROP INDEX 語法: DROP INDEX table_name.index_name //用于 DB2/Oracle 的 DROP INDEX 語法: DROP INDEX index_name //用于 MySQL 的 DROP INDEX 語法: ALTER TABLE table_name DROP INDEX index_name

  DROP TABLE 語句用于刪除表。語法:DROP TABLE table_name

  DROP DATABASE 語句用于刪除數(shù)據(jù)庫。語法:DROP DATABASE database_name

  TRUNCATE TABLE 語句:僅僅需要刪除表內(nèi)的數(shù)據(jù),但并不刪除表本身。語法:TRUNCATE TABLE table_name

3、ALTER TABLE 語句

  ALTER TABLE 語句用于在已有的表中添加、刪除或修改列。

  語法:

//如需在表中添加列,請使用下面的語法: ALTER TABLE table_name ADD column_name datatype //如需刪除表中的列,請使用下面的語法(請注意,某些數(shù)據(jù)庫系統(tǒng)不允許這種在數(shù)據(jù)庫表中刪除列的方式): ALTER TABLE table_name DROP COLUMN column_name //要改變表中列的數(shù)據(jù)類型,請使用下面的語法: //SQL Server / MS Access: ALTER TABLE table_name ALTER COLUMN column_name datatype //My SQL / Oracle: ALTER TABLE table_name MODIFY COLUMN column_name datatype //Oracle 10G 之后版本: ALTER TABLE table_name MODIFY column_name datatype;

  請看 "Persons" 表:

  現(xiàn)在,我們想在 "Persons" 表中添加一個名為 "DateOfBirth" 的列。我們使用下面的 SQL 語句:ALTER TABLE Persons?ADD DateOfBirth date。新列 "DateOfBirth" 的類型是 date,可以存放日期。數(shù)據(jù)類型規(guī)定列中可以存放的數(shù)據(jù)的類型。

  現(xiàn)在,"Persons" 表將如下所示:

?

  現(xiàn)在,我們想要改變 "Persons" 表中 "DateOfBirth" 列的數(shù)據(jù)類型。我們使用下面的 SQL 語句:ALTER TABLE Persons?ALTER COLUMN DateOfBirth year?,F(xiàn)在 "DateOfBirth" 列的類型是 year,可以存放 2 位或 4 位格式的年份。

  接下來,我們想要刪除 "Person" 表中的 "DateOfBirth" 列。我們使用下面的 SQL 語句:ALTER TABLE Persons?DROP COLUMN DateOfBirth?,F(xiàn)在加的DateOfBirth列就被刪除了。

4、SQL NULL 值

  如果表中的某個列是可選的,那么我們可以在不向該列添加值的情況下插入新記錄或更新已有的記錄。這意味著該字段將以 NULL 值保存。

  NULL 值的處理方式與其他值不同。NULL 用作未知的或不適用的值的占位符。

  注意:無法比較 NULL 和 0;它們是不等價的。

  那么我們?nèi)绾螠y試 NULL 值呢?無法使用比較運(yùn)算符來測試 NULL 值,比如 =、< 或 <>。我們必須使用 IS NULL 和 IS NOT NULL 操作符。

  SQL IS NULL:我們?nèi)绾蝺H僅選取在 "Address" 列中帶有 NULL 值的記錄呢?我們必須使用 IS NULL 操作符:

SELECT LastName,FirstName,Address FROM Persons WHERE Address IS NULL //請始終使用 IS NULL 來查找 NULL 值。

  SQL IS NOT NULL:我們?nèi)绾蝺H僅選取在 "Address" 列中不帶有 NULL 值的記錄呢?我們必須使用 IS NOT NULL 操作符:

SELECT LastName,FirstName,Address FROM Persons WHERE Address IS NOT NULL

5、SQL?NULL?函數(shù)

  ISNULL() 函數(shù)用于規(guī)定如何處理 NULL 值。

  NVL()、IFNULL() 和 COALESCE() 函數(shù)也可以達(dá)到相同的結(jié)果。

//在這里,我們希望 NULL 值為 0。 //下面,如果 "UnitsOnOrder" 是 NULL,則不會影響計算,因為如果值是 NULL 則 ISNULL() 返回 0: //SQL Server / MS Access SELECT ProductName,UnitPrice*(UnitsInStock+ISNULL(UnitsOnOrder,0)) FROM Products //Oracle:Oracle 沒有 ISNULL() 函數(shù)。不過,我們可以使用 NVL() 函數(shù)達(dá)到相同的結(jié)果: SELECT ProductName,UnitPrice*(UnitsInStock+NVL(UnitsOnOrder,0)) FROM Products //MySQL:MySQL 也擁有類似 ISNULL() 的函數(shù)。不過它的工作方式與微軟的 ISNULL() 函數(shù)有點不同。在 MySQL 中,我們可以使用 IFNULL() 函數(shù),如下所示: SELECT ProductName,UnitPrice*(UnitsInStock+IFNULL(UnitsOnOrder,0)) FROM Products //或者我們可以使用 COALESCE() 函數(shù),如下所示: SELECT ProductName,UnitPrice*(UnitsInStock+COALESCE(UnitsOnOrder,0)) FROM Products //如果alexa列為null值,則賦予0,否則,取原值 select id,name,url,ifnull(alexa,0)from websites; select id,name,url,COALESCE(alexa,0) from websites;

6、數(shù)據(jù)類型

  查檢查文檔

?

總結(jié)

以上是生活随笔為你收集整理的SQL基础(四):SQL命令的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。