mysql數(shù)據(jù)庫的使用及查詢語句

使用數(shù)據(jù)庫

連接

連接數(shù)據(jù)庫時,如果僅僅輸入mysql,可能會出現(xiàn)錯誤信息,因為可能需要安全證書,或者是因為MYSQL沒有運行到本地或者默認(rèn)端口上。mysql接受你可以使用的一組命令行參數(shù)。

mysql -u 數(shù)據(jù)庫賬戶 -p 密碼 

連接成功之后會出現(xiàn)以下歡迎信息

Welcome to the MySQL monitor...
...
mysql>

PS:

  • 命令輸入在mysql>之后;
  • 命令用;或者\g結(jié)束,換句話說,僅按Enter不執(zhí)行命令;
  • 輸入help或者\h獲取幫助,也可以輸入更多的文本獲得特定命令的幫助(如,輸入help select獲得使用select語句的幫助)
  • 輸入quit或exit退出命令行實用程序

選擇數(shù)據(jù)庫

最初鏈接到MYSQL時,沒有打開任何數(shù)據(jù)庫,需要選擇一個數(shù)據(jù)庫,可以使用USE關(guān)鍵字(key word)
例如,為了使用crashcourse數(shù)據(jù)庫,應(yīng)該輸入一下內(nèi)容:

USE crashcourse;

成功之后會返回

Database changed

PS:USE語句并不返回任何結(jié)果,依賴于使用的客戶機,顯示某種形式的通知。例如這里顯示的Database changed消息是mysql命令行實用程序在數(shù)據(jù)庫選擇成功后顯示的。
$必須先使用USE打開數(shù)據(jù)庫,才能讀取其中的數(shù)據(jù)$

  • MYSQL數(shù)據(jù)庫使用show命令來顯示數(shù)據(jù)庫的名字
SHOW DATABASES;

+-------------+
| Database    +
+-------------+
| 數(shù)據(jù)庫一    |
| 數(shù)據(jù)庫二    |
| 數(shù)據(jù)庫三    |
+-------------+
  • 使用SHOW TABLES;命令可以獲取數(shù)據(jù)庫內(nèi)的表的列表,如下圖所示
SHOW TABLES;
+-----------------------+
| Tables_in_數(shù)據(jù)庫名    +
+-----------------------+
|     表一              |
|     表二              |
|     表三              |
+-----------------------+
  • 當(dāng)然,SHOW命令也可以用來顯示表列
SHOW COLUMNS FROM customers;
+---------------+-----------+--------+
| Field         |  Type     | ...    |
+---------------+-----------+--------+
| cust_id       |int(11)    | ...    |  
| cust_name     |char(50)   | ...    |
| cust_address  |char(50)   | ...    |
| ...           |...        | ...    |
+---------------+-----------+--------+

SHOW COLUMNS要求給出一個表名,(這個例子中的FORM customers),他對每個字段返回一行,行中包含字段名、數(shù)據(jù)類型、是否允許NULL、鍵信息...
PS:DESCRIBE語句,MYSQL支持用該命令作為SHOW COLUMNS FROM的一種快捷方式。換句話說,DESCRIBE customers是SHOW COLUMNS FROM customers;de 一種快捷方式。

  • SHOW STATUS 用于顯示廣泛的服務(wù)器狀態(tài)信息
  • SHOW CREATE DATBASE和SHOW CREATE TABLE,分別用來顯示創(chuàng)建特定數(shù)據(jù)庫或者表的mysql語句
  • SHOW GRANTS,用來顯示授予用戶的安全權(quán)限
  • SHOW ERRORS和SHOW WARNINGS用來顯示服務(wù)器錯誤或警告消息

檢索數(shù)據(jù)

SELECT語句 檢索單個列

SELECT name FROM student;

上述語句利用SELECT語句從student表中檢索一個名為name的列。

+------------+
|    name    |
+------------+
|    張一    |
|    張二    |
|    張三    |
+------------+

結(jié)束SQL語句: 多條SQL語句必須以;分隔。單條SQL語句后面可以不加;但是加上分號肯定沒有壞處。如果你使用mysql命令行,必須加上;來結(jié)束SQL語句。
SQL語句和大小寫:,SQL語句不區(qū)分大小寫,但是習(xí)慣上對于所有SQL關(guān)鍵字使用大寫,而對于所有列和表名使用小寫,這樣做使代碼更易于閱讀和調(diào)試。

檢索多列

檢索多列同樣使用SELECT語句,不同的是在SELECT關(guān)鍵字后給出多個列,列名之間必須以逗號分隔(當(dāng)選擇多個列時,一定要在列名之間加上逗號,最后一個列名后不加,如果最后一個列名后加了逗號,將出現(xiàn)錯誤)

SELECT id, name, age FROM student; 

上述例子,表明從student表中檢索學(xué)號,姓名,年齡

檢索所有列

除了指定所需的列外,SELECT語句還可以檢索所有的列而不必逐個列出他們。我們可以通過在實際列名的位置使用星號(*)通配符來達到。

SELECT * FROM student;

檢索不同的行

SELECT 語句返回所有匹配的行。但是有時我們不想每個值每次都出現(xiàn),對于重復(fù)的值只出現(xiàn)一次就好。
解決辦法是使用DISTINCT(明顯的、清楚的、有區(qū)別的)關(guān)鍵字

SELECT DISTINCT id FROM student;

使用上述命令,是只返回不同(唯一)的id,如果使用該關(guān)鍵字,他必須直接放在列名的前面。

限制結(jié)果

使用LIMIT子句,可以指定表中的每個行

SELECT name 
FROM student
LIMIT 5;

上述語句使用SELECT語句檢索單個列,LIMIT 5只是mysql返回不多于5行

SELECT name 
FROM student
LIMIT 5, 5;

LIMIT 5,5 指示mysql返回從第5行開始返回5行,第一個數(shù)是開始位置,第二個為要檢索的行數(shù)。行數(shù)不夠時,mysql將只返回他能返回的那么多行。

排序檢索數(shù)據(jù)

單純的使用SELECT 子句檢索數(shù)據(jù),輸出并沒有特定的順序。 而有時我們需要返回有序的的數(shù)據(jù)。這時我們可以使用 ORDER BY語句來實現(xiàn)。

SELECT id 
FROM student
ORDER BY id;

這條語句表明按id順序返回學(xué)生的學(xué)號信息

按多個列排序

經(jīng)常需要不止一個列進行數(shù)據(jù)排序。例如要顯示雇員清單,可能希望按姓和名排序(先按照姓排序,在按照名字排序)
為了按多個列排序,只要指定列名,列名之間用逗號分開即可

SELECT id, name, age
FROM student
ORDER BY id, name;

上述語句將先按照學(xué)生id排序,當(dāng)id相同時按照name排序。

指定排序方向

ORDER BY 默認(rèn)按照升序排序(關(guān)鍵字ASC),我們可以通過使用關(guān)鍵字DESC來實現(xiàn)降序排列
DESC關(guān)鍵字,只要應(yīng)用到直接位于其前面的列名

SELECT id, name, age
FROM student
ORDER BY id DESC, name;

上述語句將只對id降序排列,name列任然按照升序排列

$在給出ORDER BY 語句時,應(yīng)該只保證它位于FROM子句之后,如果使用LIMIT它必須位于ORDER BY 之后,使用的子句次序不對將會產(chǎn)生錯誤消息$

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 什么是數(shù)據(jù)庫? 數(shù)據(jù)庫是存儲數(shù)據(jù)的集合的單獨的應(yīng)用程序。每個數(shù)據(jù)庫具有一個或多個不同的API,用于創(chuàng)建,訪問,管理...
    chen_000閱讀 4,055評論 0 19
  • SQL與MySQL簡介 數(shù)據(jù)庫基礎(chǔ) 從SQL的角度來看,數(shù)據(jù)庫就是一個以某種有組織的方式存儲的數(shù)據(jù)集合。我們可以采...
    heming閱讀 3,157評論 1 8
  • 1.MySQL是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB 公司開發(fā),目前屬于 Oracle 旗下產(chǎn)品。My...
    黃花菜已涼閱讀 4,600評論 3 60
  • 活出自我,感恩生活。 活過這一遭,須得兼?zhèn)鋱猿峙c修養(yǎng),才不枉當(dāng)初選了那一座任性又精彩的獨木橋。 ...
    冷念閱讀 215評論 0 1
  • 1 和我一起住的于木木是個非常非常上進的女孩子,究竟有多么上進呢?舉個粒子,我在家?guī)退炇盏目爝f多半是書。 心理學(xué)...
    YouCore_框架的力量閱讀 989評論 0 1