mysql資料庫基礎知識點總結(一)
資料庫:儲存有組織的資料的容器
主鍵(primary key)
① 一一列(或一組列),其值能夠唯一區分表
中每個行。
主鍵的最好習慣 除mysql強制實施的規則外,應該堅持的
幾個普遍認可的最好習慣為:
不更新主鍵列中的值;
不重用主鍵列的值;
不在主鍵列中使用可能會更改的值。(例如,如果使用乙個
名字作為主鍵以標識某個**商,當該**商合併和更改其
名字時,必須更改這個主鍵。
sql(發音為字母s-q-l或sequel)是結構化查詢語言(structured query
language)的縮寫。
mysql常用顯示語句
show databases;顯示所有的資料庫:
show tables;顯示當前資料庫中所有的表
show columns from orderitems;顯示某一張表的所有列(這裡顯示的是orderitems)這裡也可以使用desc orderitems;來描述當前表的所有列
show status ,用於顯示廣泛的伺服器狀態資訊;
show create table orders;檢視某張表的建立語句這裡要注意的是最後面需要傳入引數
show create database mysqldemo;檢視建立某個資料庫的表語句
show errors;用來顯示伺服器錯誤或警告訊息。
show warnings;用來顯示伺服器錯誤或警告訊息。
mysql 常用查詢語句:
select prod_name from products;檢索單個列,如果沒有指定排序規則的話,返回的資料順序是沒有意義的。
在處理sql語句時,其中所有空格都被忽略。sql
語句可以在一行上給出,也可以分成許多行。多數sql開發人
員認為將sql語句分成多行更容易閱讀和除錯。
select prod_id,prod_name,prod_price from products;檢索多個列,多個列使用逗號隔開
select * from products;檢索所有的列
一般,除非你確實需要表中的每個列,否則最select distinct vend_id from products;只返回他們不相同的資料好別使用 * 萬用字元。雖然使用萬用字元可能會使你自己省事,不
用明確列出所需列,但檢索不需要的列通常會降低檢索和應
用程式的效能。使用萬用字元有乙個大優點。由於不明確指定列
名(因為星號檢索每個列),所以能檢索出名字未知的列。
不能部分使用 distinct distinct 關鍵字應用於所有列而select prod_name from products limit 5;查詢資料限制返回的個數為5個,沒有設定開始行。不僅是前置它的列。如果給出 select distinct vend_id,
prod_price ,除非指定的兩個列都不同,否則所有行都將被
檢索出來
select distinct vend_id,prod_price from products;如果我們這樣使用的話就會導致查詢出所有列
select prod_name from products limit 5,5; (注意資料庫當中的下標是從0開始的我們的其實位置是第六個)
在行數不夠時 limit 中指定要檢索的行數為檢索的最大行數。如果沒有足夠的行(例如,給出 limit 10, 5 ,但只有13
行),mysql將只返回它能返回的那麼多行。mysql 5的 limit 語法 limit 3, 4 的含義是從行4開始的3
行還是從行3開始的4行?如前所述,它的意思是從行3開始的4
行,這容易把人搞糊塗。
由於這個原因,mysql 5支援 limit 的另一種替代語法。 limit
4 offset 3 意為從行3開始取4行,就像 limit 3, 4 一樣。
select prod_name from products limit 4 offset 3;
僅在多個行具有相同的 prod_priceselect prod_id,prod_price,prod_name from products order by prod_price desc 使用desc指定排序為倒序,desc 關鍵字只應用到直接位於其前面的列名。值時才對產品按 prod_name 進行排序。如果 prod_price 列中所有的值都是唯一的,則不會按 prod_name 排序。
如果我們想要在為prod_name 排序的話需要在他設定desc引數select prod_id,prod_price,prod_name from products order by prod_price desc,prod_name desc;
在對文本性的資料進行排序時,a與使用order by 和limit組合使用a相同嗎?a位於b之前還是位於z之後?這些問題不是理論問
題,其答案取決於資料庫如何設定。
在字典(dictionary)排序順序中,a被視為與a相同,這是mysql
(和大多數資料庫管理系統)的預設行為。但是,許多資料庫
管理員能夠在需要時改變這種行為(如果你的資料庫包含大量
外語字元,可能必須這樣做)。
這裡,關鍵的問題是,如果確實需要改變這種排序順序,用簡
單的 order by 子句做不到。你必須請求資料庫管理員的幫助
select prod_price from products order by prod_price desc limit 1;這裡顯示的只有一條返回資料,我們要注意的limit是在order by語句之後使用的!
MYSQL 基礎SQL語句總結
dml 資料操縱語句 增刪改 1 插入記錄 insert into tablename field1,field2,fieldn values value1,value2,valuen insert into test uid,name values 100,0,peter 如例,通過insert ...
mysql使用基礎 sql語句 一
命令列輸入mysql u root p,回車再輸入密碼,進入mysql。終端命令以分號作為一條語句的結束,可分為多行輸入,只需在最後加上分號即可。如下圖 一 ddl 資料定義語言 data definition language 作用 定義資料庫或者表結構的。操作的物件 資料庫或表的結構的。關鍵字 ...
mysql基礎一(純sql語句)
資料庫知識是每個開發人員必備的技能之一,但是真正花時間去了解的就比較少了,大部分都是視覺化工具,簡單的sql語句,在工作中基本上夠用了,但是如果沒有視覺化工具,你對自己有多少的信心呢?反正我是好多都記不住 乙個完整的建立表的sql我都寫不下來,嗚嗚嗚 這一系列部落格,就簡單介紹下我們傳統的sql語句...