mysql1 7 MySQL學習筆記1 7

2021-10-20 22:41:21 字數 2535 閱讀 3661

一、了解資料庫和表

show databases; 返回可用資料庫的乙個列表

show tables; 返回當前選擇的資料庫內可用的列表

show columns from 表名; 對每個字段返回一行,行中包括欄位名、資料型別、是否允許null、鍵資訊、預設值以及其他資訊

二、檢索資料

檢索單個列:select prod_name from products;

檢索多個列:select prod_id, prod_name, prod_price from products;

檢索所有列:select * from products;

檢索不同行:關鍵字distinct。select distinct vend_id from products; 只返回vend_id不同的行。注意:不能部分使用distinct  此關鍵字應用於所有列而不僅是前置它的列。如果給出select distinct vend_id, prod_price from products;除非指定的兩個列都不相同,否則所有行都將被檢索出來。

限制結果:關鍵字:limit。select prod_name from products limit 5; 此語句使用select檢索單個列。limit 5指示mysql返回不多於五行;若為limit 5,5 指示mysql返回從行5開始的5行。注意:檢索出來的第一行是行0而不是行1.

三、排序檢索資料

關鍵字:order by子句;

排序資料:select prod_name from products prder by prod_name;

按多個列排序:select prod_id, prod_price, prod_name from products oeder by prod_price, prod_name; 在按多個列排序時,排序完全按所規定的順序進行

指定排序方向:如果公升序,則什麼也不需要宣告,預設公升序;如果降序,需用 desc 關鍵字;select prod_id, prod_price, prod_name from products order by prod_price desc, prod_name;  desc 關鍵字只應用到直接位於其前面的列名。如果想在多個列上進行排序,必須對每個列指定desc關鍵字。

四、過濾資料

使用where子句:where子句在表名(from子句)之後給出。在同時使用order by和where子句時,應該讓order by位於where之後,否則將會產生錯位。

where子句操作符:between 值1 and 值2;between匹配範圍中所有的值,包括指定的開始值和結束值

五、資料過濾

組合wehre子句:以and子句的方式或or子句的方式使用

select prod_id, prod_price, prod_name from products where vend_id = 1003

and prod_price <= 10; and:用來指示檢索滿足所有給定條件的行。

select prod_name, prod_price from products where vend_id = 1002 or vend_id

= 1003; or:用來檢索匹配任一條件的行。

sql在處理or操作前,優先處理and操作符;解決方法就是圓括號明確地分組

相應的操作符。

in操作符:in操作符用來指定條件範圍,範圍中的每個條件都可以進行匹配

select prod_name, prod_price from products where vend_id in(1001,1003) order by prod_name; 檢索**商1002和1003製造的所有產品。in操作符後跟由逗號分隔的合法值清單,整個清單必須括在圓括號中。

in操作符的優點:

在使用長的合法選項清單時,in操作符的語法更清楚且更直觀

在使用in時,計算的次序更容易管理、

in操作符一般比or操作符清單執行更快

in的最大優點是可以包含其他select語句,使得能夠更動態的建立where子句

六、使用萬用字元進行過濾

1、 link操作符

萬用字元:用來匹配值的一部分的特殊字元。

搜尋模式:由字面值、萬用字元或兩者組合構成的搜尋條件

(1)、百分號(%)萬用字元

在搜尋串中,%表示任何字段出現任意次數。

select prod_id, prod_name from products where prod_name like 『jet%』;

搜尋找出所有以詞jet起頭的產品

%可以出現在字串的前端後端和中間:』s%e』、』%anv%』

除了乙個或多個字元外,%還能匹配0個字元。

(2)、下劃線 (_) 萬用字元

下劃線的用途與%一樣,但下劃線只匹配單個字元而不是多個字元

select prod_id, prod_name from products where prod_name like 『_ ton 』;

與%能匹配0個字元不一樣,_總是匹配乙個字元,不能多也不能少

2、 使用萬用字元的技巧

不要過度使用萬用字元;

除非絕對有必要,否則不要把它們用在搜尋模式的開始處;

ubuntu linux 下 mysql 學習筆記

後為注釋 以下為在shell中的操作 開啟終端 terminal 1.登入mysql mysql u root p 輸入密碼 2.幾個簡單的命令 1 show databases 不可少!顯示資料庫列表 2 use databasesname databasesname 為要選擇的資料庫 如 use...

MySQL高階學習記錄 17 索引簡介

效能下降sql變慢,執行時間長 等待時間長,原因以及優化方法 1 資料過多 分庫分表 2 關聯了太多的表,太多join sql優化 3 沒有充分利用到索引 索引建立 優化效果最好 4 伺服器調優及各個引數設定 調整my.cnf 索引是什麼?索引是資料結構,幫助mysql高效獲取資料的資料結構。排好序...

9 筆記 MySQL學習 處理日期

9.筆記 mysql學習 處理日期 mysql支援多種型別的日期運算 l 按日期排序 l 搜尋特定日期或日期範圍 l 從日期值裡提取各組成部分 l 計算兩個日期之間的時間差 l 通過將乙個日期加上或減去乙個時間間隔 處理日期 查詢某一天的記錄 mysql select from grade even...