關于Mysql整理的需要記憶和熟練掌握的內容
1. /* 查看操作 */ ------------------------------------------------------------------------------------------------------- 1. /* 查看操作 */
SHOW PROCESSLIST -- 顯示哪些線程正在運行SHOW VARIABLES -- 查看變量
2. /* 數據庫操作 */ ------------------------------------------------------------------------------------------------------ 2. /* 數據庫操作 */
-- 查看當前數據庫select database();-- 顯示當前時間、用戶名、數據庫版本select now(), user(), version();-- 復制表結構CREATE TABLE 表名 LIKE 要復制的表名-- 復制表結構和數據CREATE TABLE 表名 [AS] SELECT * FROM 要復制的表名
3. /* 字符集編碼 */ --------------------------------------------------------------------------------------------------------- 3. /* 字符集編碼 */
字符編碼-- MySQL、數據庫、表、字段均可設置編碼-- 數據編碼與客戶端編碼不需一致SHOW VARIABLES LIKE 'character_set_%' -- 查看所有字符集編碼項character_set_client 客戶端向服務器發送數據時使用的編碼character_set_results 服務器端將結果返回給客戶端所使用的編碼character_set_connection 連接層編碼SET 變量名 = 變量值set character_set_client = gbk;set character_set_results = gbk;set character_set_connection = gbk;SET NAMES GBK; -- 相當于完成以上三個設置
4./* 數據類型(列類型) */ ---------------------------------------------------------------------------------------------------4. /* 數據類型(列類型) */
1) 數值類型 int 4字節bigint 8字節int(M) M表示總位數- 默認存在符號位,unsigned 屬性修改- 顯示寬度,如果某個數不夠定義字段時設置的位數,則前面以0補填,zerofill 屬性修改例:int(5) 插入一個數'123',補填后為'00123'- 在滿足要求的情況下,越小越好。- 1表示bool值真,0表示bool值假。MySQL沒有布爾類型,通過整型0和1表示。常用tinyint(1)表示布爾型。2) 字符串類型-- a. char, varchar ----------char 定長字符串,速度快,但浪費空間varchar 變長字符串,速度慢,但節省空間M表示能存儲的最大長度,此長度是字符數,非字節數。不同的編碼,所占用的空間不同。char,最多255個字符,與編碼無關。varchar,最多65535字符,與編碼有關。一條有效記錄最大不能超過65535個字節。utf8 最大為21844個字符,gbk 最大為32766個字符,latin1 最大為65532個字符varchar 是變長的,需要利用存儲空間保存 varchar 的長度,如果數據小于255個字節,則采用一個字節來保存長度,反之需要兩個字節來保存。varchar 的最大有效長度由最大行大小和使用的字符集確定。最大有效長度是65532字節,因為在varchar存字符串時,第一個字節是空的,不存在任何數據,然后還需兩個字節來存放字符串的長度,所以有效長度是64432-1-2=65532字節。例:若一個表定義為 CREATE TABLE tb(c1 int, c2 char(30), c3 varchar(N)) charset=utf8; 問N的最大值是多少? 答:(65535-1-2-4-30*3)/3
5./* 建表規范 */ ------------------------------------------------------------------------------------------------------------------ 5./* 建表規范 */
-- Normal Format, NF- 每個表保存一個實體信息- 每個具有一個ID字段作為主鍵- ID主鍵 + 原子表-- 1NF, 第一范式字段不能再分,就滿足第一范式。-- 2NF, 第二范式滿足第一范式的前提下,不能出現部分依賴。消除符合主鍵就可以避免部分依賴。增加單列關鍵字。-- 3NF, 第三范式滿足第二范式的前提下,不能出現傳遞依賴。某個字段依賴于主鍵,而有其他字段依賴于該字段。這就是傳遞依賴。將一個實體信息的數據放在一個表內實現。
新聞熱點
疑難解答