1. 程式人生 > >mysql資料庫的使用及查詢語句

mysql資料庫的使用及查詢語句

使用資料庫

連線

連線資料庫時,如果僅僅輸入mysql,可能會出現錯誤資訊,因為可能需要安全證書,或者是因為MYSQL沒有執行到本地或者預設埠上。mysql接受你可以使用的一組命令列引數。

mysql -u 資料庫賬戶 -p 密碼 

連線成功之後會出現以下歡迎資訊

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

PS:

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

選擇資料庫

最初連結到MYSQL時,沒有開啟任何資料庫,需要選擇一個數據庫,可以使用USE關鍵字(key word)
例如,為了使用crashcourse資料庫,應該輸入一下內容:

USE crashcourse;

成功之後會返回

Database changed

PS:USE語句並不返回任何結果,依賴於使用的客戶機,顯示某種形式的通知。例如這裡顯示的Database changed訊息是mysql命令列實用程式在資料庫選擇成功後顯示的。
使USE

  • MYSQL資料庫使用show命令來顯示資料庫的名字
SHOW DATABASES;

+-------------+
| Database + +-------------+ | 資料庫一 | | 資料庫二 | | 資料庫三 | +-------------+
  • 使用SHOW TABLES;命令可以獲取資料庫內的表的列表,如下圖所示
SHOW TABLES;
+-----------------------+
| Tables_in_資料庫名    +
+-----------------------+
|     表一              |
|     表二              |
|     表三              |
+-----------------------+
  • 當然,SHOW命令也可以用來顯示錶列
SHOW COLUMNS FROM customers;
+---------------+-----------+--------+
| Field         |  Type     | ...    |
+---------------+-----------+--------+
| cust_id       |int(11)    | ...    |  
| cust_name     |char(50)   | ...    |
| cust_address  |char(50)   | ...    |
| ...           |...        | ...    |
+---------------+-----------+--------+

SHOW COLUMNS要求給出一個表名,(這個例子中的FORM customers),他對每個欄位返回一行,行中包含欄位名、資料型別、是否允許NULL、鍵資訊…

  • SHOW STATUS 用於顯示廣泛的伺服器狀態資訊
  • SHOW CREATE DATBASE和SHOW CREATE TABLE,分別用來顯示建立特定資料庫或者表的mysql語句
  • SHOW GRANTS,用來顯示授予使用者的安全許可權
  • SHOW ERRORS和SHOW WARNINGS用來顯示伺服器錯誤或警告訊息

檢索資料

SELECT語句 檢索單個列

SELECT name FROM student;

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

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

結束SQL語句: 多條SQL語句必須以;分隔。單條SQL語句後面可以不加;但是加上分號肯定沒有壞處。如果你使用mysql命令列,必須加上;來結束SQL語句。
SQL語句和大小寫:,SQL語句不區分大小寫,但是習慣上對於所有SQL關鍵字使用大寫,而對於所有列和表名使用小寫,這樣做使程式碼更易於閱讀和除錯。

檢索多列

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

SELECT id, name, age FROM student; 

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

檢索所有列

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

SELECT * FROM student;

檢索不同的行

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

SELECT DISTINCT id FROM student;

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

限制結果

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

SELECT name 
FROM student
LIMIT 5;

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

SELECT name 
FROM student
LIMIT 55;

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

排序檢索資料

單純的使用SELECT 子句檢索資料,輸出並沒有特定的順序。 而有時我們需要返回有序的的資料。這時我們可以使用 ORDER BY語句來實現。

SELECT id 
FROM student
ORDER BY id;

這條語句表明按id順序返回學生的學號資訊

按多個列排序

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

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

上述語句將先按照學生id排序,當id相同時按照name排序。

指定排序方向

ORDER BY 預設按照升序排序(關鍵字ASC),我們可以通過使用關鍵字DESC來實現降序排列
DESC關鍵字,只要應用到直接位於其前面的列名

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

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

ORDERBYFROM使LIMITORDERBY使

相關推薦

mysql資料庫查詢語句中欄位型別不匹配出現異常,查詢或更新多條的原因

說明 表結構和where查詢的欄位型別一致,均為字串或者是整數,不會型別轉化 表結構和where查詢的欄位型別不一致: 一個為TIMESTAMP或者是DATETIME,另一個為常量,常量會轉化為TIMESTAMP,再進行比較 一個為DECIMAL或者是整數,整數會轉化

mysql資料庫的使用查詢語句

使用資料庫 連線 連線資料庫時,如果僅僅輸入mysql,可能會出現錯誤資訊,因為可能需要安全證書,或者是因為MYSQL沒有執行到本地或者預設埠上。mysql接受你可以使用的一組命令列引數。 mysql -u 資料庫賬戶 -p 密碼 連線成功之後

[資料庫] SQL查詢語句錶行列轉換一行資料轉換成兩列

本文主要講述了SQL查詢語句表之間的行列轉換,同時也包括如何將一行資料轉換成兩列資料的方法、子查詢的應用、decode函式的用法。希望文章對你有所幫助~ 1.建立資料庫表及插入資料2.子查詢統計不同性質的學生總數3.一行資料轉換成兩列資料 union all4.錶行列資料轉

資料庫學習--mysql 分頁查詢語句

 單條 SQL 語句的分頁 SQL 方法1: 適用於 SQL Server 2000/2005 SELECT TOP 頁大小 * FROM table1 WHERE id NOT IN ( SELECT TOP 頁大小*(頁數-1) id FROM table1 ORD

Mysql資料庫查詢重複資料和去重資料 , 刪除重複資料的sql分析

資料庫中有重複資料時,用到哪些sql語句? 這裡有若干資料,並摻雜了重複資料 1. 檢視過濾重複後的資料 思路, group by 分組可以對多個列進行分組, 分組後可以過濾掉重複的資料 sql語句: SELECT id,`name`,

mysql資料庫的基本語句關鍵詞

mysql 是一個小型的資料庫,相較oracle簡單,語句也少很多,下面簡單的介紹一下基本的語句:1.首先登入資料庫(在cmd視窗進行操作)輸入:mysql -u root -p繼續按回車1.建立一個數據庫create datebase  lala;(資料庫名,可以根據實際專

MySQL索引查詢優化總結

存儲 一行 -1 type 一定的 關鍵技術 表示 智能 string類型 一個簡單的對比測試 前面的案例中,c2c_zwdb.t_file_count表只有一個自增id,FFileName字段未加索引的sql執行情況如下: 在上圖中,type=all,key=nul

Mysql 數據查詢語句中between and 是包含邊界值的

數據查詢 repl use ref net bsp 使用 一個數 not MySQL的sql語句中可以使用between來限定一個數據的範圍,例如: select * from user where userId between 5 and 7; 查詢userId為5、6,

python 3 mysql sql邏輯查詢語句執行順序

shanghai 不能 結果 utf8 才會 right 完成 並且 分享 python 3 mysql sql邏輯查詢語句執行順序 一 、SELECT語句關鍵字的定義順序 SELECT DISTINCT <select_list> FROM <left

關於MySQL常用的查詢語句

tex 程序員 列表 語言 連接 時間段 十六 聚合函數 ice 一查詢數值型數據: SELECT * FROM tb_name WHERE sum > 100; 查詢謂詞:>,=,<,<>,!=,!>,!<,=>,=<

mysql--單表查詢---語句與語法

cte 。。 for 居中 默認 quit 性別 lec hang 一、單表查詢的語法 select 字段1,字段2,字段3.。。from 表名                   where 條件                  group by field 分領域(組

MySQL學習——SQL查詢語句(連接查詢&子查詢)(三)

例如 必須 創建 clas 在一起 另一個 記錄 any 操作 一:連接查詢:   連接查詢是將倆個或者倆個以上的表按照某個條件連接起來,從中選擇需要的數據,連接查詢同時查詢倆個或者倆個以上的表時使用,當不同的表中存在表示相同意義的字段時,可以通過該字段來連接這幾個表,例如

MySQL - 數據查詢語句

sphinx 字段值 重復 註意 指定 手機號 -- round AC 數據查詢語句select 列名,列名,列名… from 表名 [where條件]列名是字段的名字,註意最後一個列名不加逗號,表名後面的條件可加可不加,加了就只查出來滿足條件的數據。 查詢user表裏的用

三十四、python學之Flask框架(六)資料庫:mysql資料庫Flask-SQLAlchemy

一、資料庫知識回顧: 1.SQL:關係型資料庫,支援結構化查詢語言: 關係型資料庫:以表的形式儲存; 支援結構化查詢語言:SQL語句; 列數固定;行數可變,定義資料,主鍵、外來鍵,引用同表或不同表的主鍵,這種聯絡稱為關係. 2.關於正規化: 第一

如何提高MySql資料庫查詢的效率

做django的專案,用python語言寫查詢資料庫的語句,使用OuterRef, Subquery,Exists,F建立複雜的查詢語句: 資料庫模型: from django.db import models # 經緯度唯一表 class LngLat(models.Model):

MySQL DQL 資料查詢語句整理

 此內容摘自"MySQL5.7從入門到精通" 目錄 此內容摘自"MySQL5.7從入門到精通" 1.單表查詢    1.1查詢所有欄位    1.2 查詢指定欄位    1.3 查詢指定記錄 &nb

Mysql 日期時間查詢語句

-- 今天 select * from 表名 where to_days(時間欄位名) = to_days(now()); -- 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 時間欄位名) <= 1; -- 近7天 SELEC

Python連線MySQL資料庫執行sql語句時的引數問題

由於工作需要,今天寫了一個Python小指令碼,其中需要連線MySQL資料庫,在執行sql命令時需要傳遞引數,結果出問題了。在網上查了一下,發現有以下幾種方式傳遞引數: 一.直接把sql查詢語句完整寫入字串 try: connection = MySQLdb.connect(user

MySQL資料庫時間查詢

1 /*當前時間加1毫秒*/ 2 SELECT DATE_ADD(NOW(),INTERVAL 1 MICROSECOND); 3 4 /*當前時間減1毫秒*/ 5 SELECT DATE_ADD(NOW(),INTERVAL -1 MICROSECOND); 6 7 /*當前時間加1

c# MVC框架 對mysql資料庫查詢

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using demo2.Models; using MySql.Data.