02數(shù)據(jù)庫-語法

20200224

1、ORDER BY 關(guān)鍵字用于對(duì)結(jié)果集進(jìn)行排序

SELECT column1_name,column2_name FROM table_name

ORDER BY column1_name,column2_name ASC|DESC;

優(yōu)先按照列名1進(jìn)行排序,再按照列名2進(jìn)行排序

列名可以不用寫,寫數(shù)字 可代表按照第幾列進(jìn)行排序,并采用默認(rèn)的顯示順序排列

默認(rèn)按照ASC升序排列

2、INSERT INTO 語句用于向表中插入新記錄

不需要插入的值,可命名為null或''

某些列必須輸入值才可進(jìn)行操作

第一種形式無需指定要插入數(shù)據(jù)的列名,只需提供被插入的值,但值的數(shù)量需和列名保持一致

INSERT INTO table_name

VALUES (value1,value2,value3,...);

第二種形式需要指定列名及被插入的值:

INSERT INTO table_name(column1,column2,column3,...)

VALUES (value1,value2,value3,...);

3、列別名

select ename as 姓名 from emp; ? 或者 ? ? select ename 姓名 from emp;

如果列別名含有特殊符號(hào)(如空格、¥、+等),則需將此列別名用雙引號(hào)標(biāo)上

4、空值

空值不能進(jìn)行運(yùn)算,null進(jìn)行任何運(yùn)算的算式都等于空值

如果空值要參與運(yùn)算,則需要將空值進(jìn)行轉(zhuǎn)換

nvl(可能產(chǎn)生空值的列,指定值),如下所示 是將comm列中的空值都轉(zhuǎn)換為100000

5、Like模糊查詢

%:代表任意數(shù)量的任意字符

_:代表任意一個(gè)字符

select * from emp where ename like '_A%';查詢姓名中第二個(gè)字母為A的員工信息

6、UPDATE 語句 更新表中已存在的記錄

Update emp Set ename='SMITH' Where empno=7369;

7、DELETE 語句用于刪除表中的行

DELETE FROM table_name WHERE some_column=some_value;

可以在不刪除表的情況下,刪除表中所有的行,同時(shí)表結(jié)構(gòu)、屬性、索引將保持不變

DELETE FROM table_name;

或DELETE * FROM table_name;

8、SQL SELECT TOP 子句

SELECT TOP 子句用于規(guī)定要返回的記錄的數(shù)目

Select * From emp Where Rownum <=5; ?? 從 "emp" 表中選取前5條記錄

9、SQL通配符

%:替代0個(gè)或多個(gè)字符;

_:替代一個(gè)字符;

[charlist]:字符列中的任何單一字符;

[^charlist]或[!charlist]:不在字符列中的任何單一字符;

10、IN操作符

IN 操作符允許在 WHERE 子句中規(guī)定多個(gè)值

select ename from emp where deptno in(10,20);

select ename from emp where deptno=10 or deptno=20;

11、BETWEEN 操作符

ETWEEN 操作符選取介于兩個(gè)值之間的數(shù)據(jù)范圍內(nèi)的值。這些值可以是數(shù)值、文本或者日期。

select * from emp where ename not between 'A' and 'F'; ?? 查詢emp表中姓名開頭不是從A到F的員工信息

select * from emp where hiredate between '01-1月-1980' and '01-1月-1981'; ?? 查詢emp表中 1980/01/01到1981/01/01期間入職的員工信息

注意:不同的數(shù)據(jù)庫中,between操作符產(chǎn)生的效果可能會(huì)不一樣,可能包含兩個(gè)邊界值也可能只包含其中一個(gè),或者都不包含,具體情況需要視工具而定,可事先進(jìn)行檢查。

12、NOT NULL 約束

在默認(rèn)的情況下,表的列接受 NULL 值

NOT NULL 約束強(qiáng)制列不接受 NULL 值。

NOT NULL 約束強(qiáng)制字段始終包含值。這意味著,如果不向字段添加值,就無法插入新記錄或者更新記錄。

create table Persons (? id int NOT NULL, LastName varchar(255) NOT NULL,FirstName varchar(255) NOT NULL, Age int); ? ?? 這個(gè)語句就強(qiáng)制 "ID" 列、 "LastName" 列以及 "FirstName" 列不接受 NULL 值

在一個(gè)已創(chuàng)建的表中添加 NOT NULL 約束? ALTER TABLE Persons MODIFY Age int NOT NULL;

在一個(gè)已創(chuàng)建的表中刪除 NOT NULL 約束 ?ALTER TABLE Persons MODIFY Age int NULL;

13、NULL值

無法使用比較運(yùn)算符=、< 或 <>等來測(cè)試null值,必須使用 IS NULL 和 IS NOT NULL 操作符

14、NULL函數(shù)

Oracle ?? nvl(可能有空值的列名,希望將null轉(zhuǎn)換成的數(shù)值)

SQL Server / MS Access ?? ISNULL(可能有空值的列名,希望將null轉(zhuǎn)換成的數(shù)值)

MySQL ? ? IFNULL(可能有空值的列名,希望將null轉(zhuǎn)換成的數(shù)值) 或者 ??COALESCE(可能有空值的列名,希望將null轉(zhuǎn)換成的數(shù)值)


作者:kerwin_chyl

文章鏈接:http://www.itdecent.cn/u/66bf7abdc5a8

本文版權(quán)歸作者和簡(jiǎn)書共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責(zé)任的權(quán)利。

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

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

  • 5.多表查詢 多表查詢 目的:從多張表獲取數(shù)據(jù) 前提:進(jìn)行連接的多張表中有共同的列 等連接 通過兩個(gè)表具有相同意義...
    喬震閱讀 1,549評(píng)論 0 0
  • mysql數(shù)據(jù)庫中 :database : 文件夾table : 數(shù)據(jù)表(數(shù)據(jù)文件) 進(jìn)入mysqlmysql -...
    賦閑閱讀 641評(píng)論 0 0
  • Oracle SQL基本操作 Oracle數(shù)據(jù)庫基本操作 1.概述 Oracle數(shù)據(jù)庫客戶端一般需要安裝在服務(wù)器上...
    橫豎撇捺啊閱讀 603評(píng)論 0 1
  • 第一章SQL 1.Oracle數(shù)據(jù)庫基礎(chǔ) (1).開始>運(yùn)行>輸入:sqlpusw/nolog>確定sqlplus...
    蛋炒飯_By閱讀 403評(píng)論 0 0
  • 有些事兒,并不是服與不服的關(guān)系,而是到了什么年紀(jì)做什么年紀(jì)的事兒。比如,熬夜,年勁人熬一次和上了歲數(shù)的人熬一次,其...
    因?yàn)橄贪?/span>閱讀 260評(píng)論 0 0

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