1. 程式人生 > >例題SQL語句詳解-資料庫基本操作4

例題SQL語句詳解-資料庫基本操作4

1.6 SQL分類

DDL(data definition language)資料庫定義語言create、alter、drop、shop

DML(data manipulation language)資料操縱語言select、update、insert、delete

DCL(Data Control Language)資料庫控制語言,是用來設定或更改資料庫使用者或角色許可權的語句

1.7 資料表的檔案介紹

一個數據庫對應一個資料夾

一個表對應一個或多個檔案

引擎是myisam,一個表對應三個檔案 這裡寫圖片描述 引擎是innodb,一個表對應一個表結構檔案 這裡寫圖片描述 所有的innodb引擎的資料統一的存放在data\ibdata1檔案中。如果資料量很大,MySQL會自動的建立ibdata2,ibdata3,…,目的就是為了便於管理。

引擎是memory,資料儲存在記憶體中,重啟服務資料丟失,但是讀取速度非常快。

1.8 字符集

字符集:字元在儲存和傳輸時對應的二進位制編碼集合。

建立測試資料庫

mysql> create table stu(
    -> id int primary key,
    -> name varchar(20)
    -> );
Query OK, 0 rows affected (0.00 sec)

插入中文報錯

這裡寫圖片描述 分析原因:

客戶端通過GBK傳送的命令 這裡寫圖片描述 但是,服務用utf8解釋命令 這裡寫圖片描述

設定伺服器,用gbk字元編碼接受客戶端發來的命令 這裡寫圖片描述

測試:插入中文,成功 這裡寫圖片描述

查詢資料,發現數據亂碼 這裡寫圖片描述

原因:以utf返回的結果,客戶端用gbk來接受

解決:伺服器用gbk返回資料 這裡寫圖片描述

再次測試,查詢資料 這裡寫圖片描述

總結:客戶端編碼、character_set_client、character_set_results三個編碼的值一致即可操作中文。

多學一招:我們只要設定“set names 字元編碼”,就可以更改character_set_client、character_set_results的值。 這裡寫圖片描述