1. 程式人生 > >MySQL基礎知識(一)——基本命令和資料型別

MySQL基礎知識(一)——基本命令和資料型別

一.MySQL基礎

  • MySQL由瑞典MySQL AB公司開發,目前屬於Oracle公司;
  • MySQL是一個開源的關係型資料管理系統;
  • MySQL分為社群版和企業版。

二.MySQL目錄結構

  • bin目錄,儲存可執行檔案;
  • data目錄,儲存資料檔案;
  • docs,文件;
  • include 目錄,儲存包含的檔案;
  • lib目錄,儲存庫檔案;
  • share,錯誤訊息和字符集檔案。

MAC下MySQL的目錄結構路徑為:/usr/local/mysql

三.啟動終止MySQL服務命令

  • 啟動:net start mysql
  • 終止:net stop mysql

四.命令列登入MySQL

mysql -uroot -p -h127.0.0.1
引數 描述
-D,--database=name 開啟指定資料庫
--delimiter=name 指定分割符
-h,--host=name 伺服器名稱
-p,--password[=name] 密碼
-P,--port=# 埠號
--prompt=name 設定提示符
-u,--user=name 使用者名稱
-V,--version 輸出版本資訊並且退出

五.MySQL退出 

  •      exit;
  •      quit;
  •      \q;

六.修改MySQL提示符

1.連線客戶端時通過引數指定:mysql -uroot -p --prompt 提示符

2.連線上客戶端後,通過prompt指定:prompt提示符

MySQL提示符:

  •   \D    完整的日期
  •   \d    當前資料庫
  •   \h    伺服器名稱
  •   \u    當前使用者

七.MySQL常用命令

  • 顯示當前伺服器版本: SELECT VERSION();
  • 顯示當前日期時間:SELECT NOW();
  • 顯示當前使用者:SELECT USER();

八.MySQL語句的規範

  • 關鍵字與函式名稱全部大寫;
  • 資料庫名稱,表名稱,欄位名稱全部小寫;
  • SQL語句必須以分號結尾。

九.資料庫操作

1.建立資料庫

       語法:CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name

2.展示現有資料庫

     語法:SHOW DATABASES;

     MySQL會有四個預設的資料庫:information_schema,mysql,sys和performance_schema

# 建立一個已經存在的資料庫t1,加IF NOT EXISTS可以避免資料庫報錯(error),只會報warning。
CREATE DATABASE IF NOT EXISTS t1;

    (1)展示WARNING

      語法:SHOW WARNINGS;

    (2)展示編碼方式(沒有設定編碼方式,只使用MySQL預設的編碼方式)

      語法:SHOW CREATE DATABASE t1;

    (3)帶編碼方式建立資料庫:

# 建立資料庫t2,編碼方式為gbk
CREATE DATABASE IF NOT EXISTS t2 CHARACTER SET gbk;

3.修改資料庫

      語法:ALTER { DATABASE | SCHEMA } [db_name] [DEFAULT] CHARACTER SET [=] charset_name 

4.刪除資料庫

     語法:DROP { DATABASE | SCHEMA } [IF EXISTS] db_name;

# 刪除資料庫
DROP DATABASE t2;

十.資料型別

      資料型別是指列,儲存過程引數,表示式和區域性變數的資料特徵,它決定了資料的儲存格式,代表了不同的資訊型別。

1.整型

資料型別 儲存範圍 位元組
TINYINT

有符號值:-128到127(-2^7到2^7-1)

無符號值:0到255(0到2^8-1)

1
SMALLINT

有符號值:-32768到32767(-2^15到2^15-1)

無符號值:0到65535(0到2^16-1)

2
MEDIUMINT

有符號值:-8388608到8388607(-2^23到2^23-1)

無符號值:0到16777215(0到2^24-1)

3
INT

有符號值:-2147483648到2147483647(-2^31到2^31-1)

無符號值:0到4294967295(0到2^31-1)

4
BIGINT

有符號值:-9223372036854775808到9223372036854775807(-2^63到2^63-1)

無符號值:0到18446744073709551615(0到2^64-1)

8

2.浮點型

3.日期時間型

資料型別 儲存需求
YEAR 1
TIME 3
DATE 3
DATETIME 8
TIMESTAMP 4

4.字元型

資料型別 儲存需求
CHAR(M) M個位元組,0<=M<=25
VACHAR(M) L+1個位元組,其中L<=M且0<=M<=65535
TINYTEXT L+1個位元組,其中L<=2^8
TEXT L+2個位元組,其中L<=2^16
MEDIUMTEXT L+3個位元組,其中L<=2^24
LONGTEXT L+4個位元組,其中L<=2^32
ENUM('value1','value2',...) 1或2個位元組,取決於列舉值的個數(最多65535個值)。
SET('value1','value2',...) 1,2,3,4或者8個位元組,取決於set成員的數目(最多64個成員)。