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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

基础数据库知识

發布時間:2024/3/13 数据库 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基础数据库知识 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

功能:從表中(數據庫中數據是存儲在二維表格當中的)查詢獲取自己想要的數據,對應到生活中的軟件功能:

百度搜索、淘寶搜索、12306 查詢......

SELECT 語句

例如:用戶信息表,表的名字: user_tab

列: 用戶編號 user_id
???? 用戶的姓名 user_name
???? 密碼 passwd
???? 手機號 phone
???? 郵箱? email
???? 創建日期 create_date
??? ?
模擬場景:
1、從 user_tab 表中把所有用戶信息找出來(查詢)

SELECT? * FROM user_tab;

2、查詢表中部分列信息:查詢用戶的用戶名和手機號,郵箱;

SELECT user_name,phone,email FROM user_tab;

SELECT user_name 用戶名,phone 手機號,email 郵箱 FROM user_tab;

3、查詢名字叫做"司馬懿"的用戶信息

SELECT * FROM user_tab WHERE user_name='司馬懿'

4、查詢名字叫'司馬懿'和'張春華'的用戶信息;

SELECT * FROM user_tab WHERE user_name='司馬懿' OR user_name='張春華'

SELECT * FROM user_tab WHERE user_name IN('司馬懿','張春華','曹丕');

5、查詢名字 叫司馬懿,并且手機號碼 13324678899 的用戶

SELECT * FROM user_tab WHERE user_name='司馬懿' AND phone=13324678899

==》語法
1、查詢表中所有的數據信息:?? 表名

SELECT * FROM 表名;

2、查詢表中部分列信息: 表名? 列名

SELECT 列名1,列名2,列名3,..... FROM 表名;

3、給列起別名: 列名1 別名,列名2 別名2, 列名3 別名3 (別名不要重復)

SELECT user_name 用戶名,phone 手機號,email 郵箱 FROM user_tab;

4、去重,(重復顯示的數據,只顯示一行,多余的不顯示去掉),重復是指完全一模一樣

關鍵字:? DISTINCT ?

SELECT DISTINCT job,deptno FROM emp;

5、帶條件的查詢語句:根據查詢條件來查詢獲取數據(實際工作中用的最多的)

關鍵字: WHERE

查詢條件: 列名? 運算符? 搜索值 ?

備注:搜索值除過數字以外,其它類型必須加單引號括起來,或者是雙引號括起來。

SELECT *? FROM 表名 WHERE 查詢條件

一、單條件查詢語句:一個查詢條件

SELECT * FROM 表名 WHERE 查詢條件

單條件查詢的運算符: = , !=,<>,>,<,>=,<=

= 精確查詢:將跟搜索值一模一樣的數據查詢出來,實際應用非常廣(銀行的身份證號碼查詢個人信息)

備注:搜索值區分大小寫,區分中英文,搜索值數字可以不加引號,其它類型必須加引號括起來。

SELECT * FROM emp WHERE ename='scott';? -- Oracle 中必須和表中一樣,都是大寫

!= 不等于,將跟查詢條件不一樣的數據全部查詢出來;

SELECT * FROM emp WHERE ename!='scott';

二、多條件查詢:多個查詢條件

條件連接: AND? OR

查詢條件 AND 查詢條件 :功能,將同時滿足兩個條件的數據查詢出來

查詢條件 OR 查詢條件 : 功能,只要滿足其中一個查詢條件就把數據找出來

例如:

SELECT ename FROM emp WHERE sal>2000 AND deptno=10;

SELECT * FROM user_tab WHERE user_name='司馬懿' OR user_name='張春華'

多條件運算符:? IN??? BETWEEN ... AND ...??? NOT

IN 多值運算符

用法: IN(搜索值1,搜索值2,搜索值3,...)? 功能:將滿足這幾個搜索值的數據全部查詢出來

等價于:列名=搜索值1 OR 列名=搜索值2 OR 列名=搜索值3 OR ...? 列名必須是一樣的

SELECT * FROM user_tab WHERE user_name IN('司馬懿','張春華','曹丕');

SELECT * FROM user_tab WHERE user_name='司馬懿' OR user_name='張春華' OR user_name='曹丕';

例如:查詢員工薪水高于2000,并且在部門10或者部門20當中員工信息;

SELECT * FROM emp WHERE sal>2000 AND deptno IN(10,20);

SELECT * FROM emp WHERE sal > 2000 AND (deptno =20 OR deptno=10);? -- and 優先級高于 or

BETWEEN ... AND ... 查詢一個區間范圍 內數據,用于數值了類型居多;

例如:查詢薪水在 2000~3000之間的員工信息

SELECT * FROM emp WHERE sal >= 2000 AND sal<=3000;

SELECT * FROM emp WHERE sal BETWEEN 2000 AND 3000;? -- 包含了臨界值

用法: 列名 BETWEEN 值1 AND 值2?? 等價于? 列名 >= 值1 AND 列名<=值2

注意: 值1<值2,包含了臨界值(上下限)

NOT(1個或者多個查詢條件)

用法: NOT 取反,功能(是括號中查詢條件取反的數據)

例如:

SELECT * FROM emp WHERE NOT(sal BETWEEN 2000 AND 3000);

SELECT * FROM emp WHERE NOT(ename='SCOTT');

6、模糊查詢:將跟搜索值類似的數據全部查詢出來;

關鍵字(運算符): LIKE , 不能夠單獨使用,必須要結合通配符?? %? 或者 _? 一起使用

% 代表的是0個或者任意多個字符

?? 張% : 張,張三,張三豐,張三豐******,即指以張開頭的信息數據全部查詢出來
?? %張 :代表以張結尾的數據
?? %張% : 包含張的信息

_ 代表的是任意一位字符 :僅代表一個字符,占位符

例如:查詢名字中包含"司馬"的用戶信息

SELECT * FROM user_tab WHERE user_name LIKE? '%司%馬%';

查詢名字中包含"司馬",并且手機號倒數第二位是 6 的用戶信息

SELECT * FROM user_tab WHERE user_name LIKE? '%司%馬%' AND phone LIKE '%6_';

SELECT * FROM user_tab WHERE user_name LIKE? '%司%馬%' AND phone LIKE '_________6_';? -- 容易數錯

例如:查詢名字 ALLEN BLAKE CLARK MLIER 這幾個,用模糊查詢實現;

SELECT * FROM emp WHERE ename LIKE '%L%';

7、 查詢結果排序

關鍵字: ORDER BY? 列名? 排序方式(可以自定義,默認升序):

升序: ASC
降序: DESC

==》語法:

SELECT * FROM 表名 [WHERE 查詢條件] ORDER BY 列名1,列名2 DESC,....;

SELECT * FROM emp WHERE ename LIKE '%L%' ORDER BY deptno;

例如: 查詢部門編號為10,20的員工信息,然后按照部門編號升序排序,同一個部門再按照薪水降序排序。

SELECT * FROM emp WHERE deptno IN(10,20) ORDER BY deptno ASC,sal DESC;

總結

以上是生活随笔為你收集整理的基础数据库知识的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。