前天周四去圖書館借書,由於對於資料庫不是特別關注,所以只象徵性的借回一本ben forta的 《mysql 必知必會》(mysql crash course),32k,241頁。由於有必要學學mysql,所以它也就馬上派上了用場。稍微看了前幾章,感覺這書名翻譯的真不乾脆,照我說就直譯《mysql的速成班》(google直譯 =。=)。但是麻雀雖小,五臟俱全,書中的東西還是挺多的,前2章講的是sql和mysql的介紹,好吧,我從來沒有對任一軟體的介紹上心過,所以這兩章也是基本瀏覽 |_o_o_| 。由於每一章的內容很簡略,所以,我決定把每一章的心得和實際應用記下來。
書中建議:
1、sql語句不區分大小寫,因此select與select 是相同的。但許多sql開發人員喜歡對所有sql關鍵字使用大寫,而對於所有列和表名使用小 寫,這樣做使**更易於閱讀和除錯。
2、在處理sql語句時,其中所有的空格都被忽略,sql語句可以在一行上給出,也可以分成許多行,多數sql開發人員認為將sql語句分成多行更容易閱讀和除錯。
使用你的使用者名稱與密碼連線mysql,一般預設使用者名為「root」,密碼如果沒有配置則為空。
選擇資料庫使用「use」關鍵字,如:
use test;
顯示資訊用
「show」關鍵字,如:
-- 顯示資料庫列表
show databases;
-- 顯示資料庫中的表
show tables;
-- 顯示表中資訊
show columns from table;
-- 等價於
desc table;
-- 以下語句平時本人較少用,記錄在此以備不時之需
-- 顯示伺服器狀態
show status;
-- 顯示特定資料庫或表的建立語句
show create database db;
show create table table;
-- 顯示授權使用者
show grants;
-- 顯示伺服器錯誤或警告訊息
show errors;
show warnings;
先建乙個表,建表語句如下:create table 'test' (
'user_id' int not null auto_increment,
'user_name" varchar(20) not null,
primary key ('user_id')
)engine=innodb auto_increment=1 default charset=utf8
插入資料,我的插入語句是:
insert into test values
(null,'a'),
(null,'a'),
(null,'b'),
(null,'b'),
(null,'c'),
(null,'c');
用「select」關鍵字對錶1資料進行檢索,輸出如下:
+------------+-------------------+ 表1| user_id | user_name |
| 1 | a |
| 2 | a |
| 3 | b |
| 4 | b |
| 5 | c |
| 6 | c |
關鍵字"distinct":返回查詢列中不同值的記錄。
select distinct user_name
from test;
關鍵字"limit":返回不多於限制的記錄。
-- 限制返回記錄數為2
select *
from test
limit 2;
-- 從第四條記錄處開始返回2條記錄
select *
from test
limit 3,2;
-- 等價於
select *
from test
limit 2 offset 3;
在mysql中用檢索出來的記錄是預設是以記錄插入先後公升序排列。我們可以使用"order by"子句來對輸出結果進行排序。
select user_name
from test
order by user_id;
-- 對多個列進行排序
select user_name
from test
order by user_id,user_name;
關鍵字 "desc":讓返回結果以降序結果排列。
select *
from test
order by user_id desc;
使用上面的查詢語句查詢出來的結果是按user_id降序排列,那user_name呢?是公升序還是降序?請試一下下面的查詢語句,試著分析一下會是什麼返回結果:
select *
from test
order by user_name desc
limit 2 offset 1 ;
《MySQL必知必會》學習筆記 1
下面為個人看 mysql必知必會 時做的筆記,感覺 mysql必知必會 屬於一般筆記基礎的書,可以鞏固一下之前的基礎。下面的sql語句大部分是dede scores表的,下面是建立表的語句 create table dede scores id int 11 unsigned not null au...
mysql必知必會 mysql必知必會(四)
十四 理解子查詢 1 通過子查詢過濾 這本書在所有的章節都關連到了資料庫表,訂單資料是儲存在兩個表中,orders表儲存著 訂單號碼 顧客id和訂單日期。個人的訂單列表關連著orderitems表,訂單表沒有儲存顧客資訊,它只是儲存著顧客id,這實際的顧客資訊是儲存在customers表中。現在假設...
mysql的必知必會 mysql 必知必會 筆記
好久沒有寫了。1 show columns from table 等同於describe table顯示的是表的結構。而select from table 則顯示的是整個表中插入的資料。2 select distinct c1,c2 from table除非列不相同,否則所有行將被檢索出來,即不能對...