最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mysql精粹系列(精粹)

 更新時間:2016年09月30日 09:37:54   作者:wozhuzaisi  
本文都是小編日常整理的mysql精粹內(nèi)容,需要大家熟練掌握并記憶的知識,非常不錯,具有參考借鑒價值,對mysql知識感興趣的朋友一起看看吧

關(guān)于Mysql整理的需要記憶和熟練掌握的內(nèi)容

1. /* 查看操作 */ ------------------------------------------------------------------------------------------------------- 1. /* 查看操作 */

SHOW PROCESSLIST -- 顯示哪些線程正在運行
SHOW VARIABLES -- 查看變量

2. /* 數(shù)據(jù)庫操作 */ ------------------------------------------------------------------------------------------------------ 2. /* 數(shù)據(jù)庫操作 */

-- 查看當前數(shù)據(jù)庫
select database();
-- 顯示當前時間、用戶名、數(shù)據(jù)庫版本
select now(), user(), version();
-- 復制表結(jié)構(gòu)
CREATE TABLE 表名 LIKE 要復制的表名
-- 復制表結(jié)構(gòu)和數(shù)據(jù)
CREATE TABLE 表名 [AS] SELECT * FROM 要復制的表名

3. /* 字符集編碼 */ --------------------------------------------------------------------------------------------------------- 3. /* 字符集編碼 */

字符編碼
-- MySQL、數(shù)據(jù)庫、表、字段均可設置編碼
-- 數(shù)據(jù)編碼與客戶端編碼不需一致
SHOW VARIABLES LIKE 'character_set_%' -- 查看所有字符集編碼項
character_set_client 客戶端向服務器發(fā)送數(shù)據(jù)時使用的編碼
character_set_results 服務器端將結(jié)果返回給客戶端所使用的編碼
character_set_connection 連接層編碼
SET 變量名 = 變量值
set character_set_client = gbk;
set character_set_results = gbk;
set character_set_connection = gbk;
SET NAMES GBK; -- 相當于完成以上三個設置

4./* 數(shù)據(jù)類型(列類型) */ ---------------------------------------------------------------------------------------------------4. /* 數(shù)據(jù)類型(列類型) */

1) 數(shù)值類型
  int 4字節(jié)
bigint 8字節(jié)
int(M) M表示總位數(shù)
- 默認存在符號位,unsigned 屬性修改
- 顯示寬度,如果某個數(shù)不夠定義字段時設置的位數(shù),則前面以0補填,zerofill 屬性修改
例:int(5) 插入一個數(shù)'123',補填后為'00123'
- 在滿足要求的情況下,越小越好。
- 1表示bool值真,0表示bool值假。MySQL沒有布爾類型,通過整型0和1表示。常用tinyint(1)表示布爾型。
2) 字符串類型
-- a. char, varchar ----------
char 定長字符串,速度快,但浪費空間
varchar 變長字符串,速度慢,但節(jié)省空間
M表示能存儲的最大長度,此長度是字符數(shù),非字節(jié)數(shù)。
不同的編碼,所占用的空間不同。
char,最多255個字符,與編碼無關(guān)。
varchar,最多65535字符,與編碼有關(guān)。
一條有效記錄最大不能超過65535個字節(jié)。
utf8 最大為21844個字符,gbk 最大為32766個字符,latin1 最大為65532個字符
varchar 是變長的,需要利用存儲空間保存 varchar 的長度,如果數(shù)據(jù)小于255個字節(jié),則采用一個字節(jié)來保存長度,反之需要兩個字節(jié)來保存。
varchar 的最大有效長度由最大行大小和使用的字符集確定。
最大有效長度是65532字節(jié),因為在varchar存字符串時,第一個字節(jié)是空的,不存在任何數(shù)據(jù),然后還需兩個字節(jié)來存放字符串的長度,所以有效長度是64432-1-2=65532字節(jié)。
例:若一個表定義為 CREATE TABLE tb(c1 int, c2 char(30), c3 varchar(N)) charset=utf8; 問N的最大值是多少? 答:(65535-1-2-4-30*3)/3

5./* 建表規(guī)范 */ ------------------------------------------------------------------------------------------------------------------ 5./* 建表規(guī)范 */

-- Normal Format, NF
- 每個表保存一個實體信息
- 每個具有一個ID字段作為主鍵
- ID主鍵 + 原子表
-- 1NF, 第一范式
字段不能再分,就滿足第一范式。
-- 2NF, 第二范式
滿足第一范式的前提下,不能出現(xiàn)部分依賴。
消除符合主鍵就可以避免部分依賴。增加單列關(guān)鍵字。
-- 3NF, 第三范式
滿足第二范式的前提下,不能出現(xiàn)傳遞依賴。
某個字段依賴于主鍵,而有其他字段依賴于該字段。這就是傳遞依賴。
將一個實體信息的數(shù)據(jù)放在一個表內(nèi)實現(xiàn)。

6./* select 查詢語句*/ -------------------------------------------------------------------------------------------------------- 6./* select 查詢語句*/

1) having 子句,條件子句
與 where 功能、用法相同,執(zhí)行時機不同。
where 在開始時執(zhí)行檢測數(shù)據(jù),對原數(shù)據(jù)進行過濾。
having 對篩選出的結(jié)果再次進行過濾。
having 字段必須是查詢出來的,where 字段必須是數(shù)據(jù)表存在的。
where 不可以使用字段的別名,having 可以。因為執(zhí)行WHERE代碼時,可能尚未確定列值。
where 不可以使用合計函數(shù)。一般需用合計函數(shù)才會用 having
SQL標準要求HAVING必須引用GROUP BY子句中的列或用于合計函數(shù)中的列。

7./* 備份與還原 */ ------------------------------------------------------------------------------------------------------------- 7./* 備份與還原 */

備份,將數(shù)據(jù)的結(jié)構(gòu)與表內(nèi)數(shù)據(jù)保存起來。
利用 mysqldump 指令完成。
-- 導出
1) 導出一張表
  mysqldump -u用戶名 -p密碼 庫名 表名 > 文件名(D:/a.sql)
2)導出多張表
  mysqldump -u用戶名 -p密碼 庫名 表1 表2 表3 > 文件名(D:/a.sql)
3)導出所有表
  mysqldump -u用戶名 -p密碼 庫名 > 文件名(D:/a.sql)
4)導出一個庫 
  mysqldump -u用戶名 -p密碼 -B 庫名 > 文件名(D:/a.sql)
可以-w攜帶備份條件
-- 導入
1)在登錄mysql的情況下:
  source 備份文件
2)在不登錄的情況下
  mysql -u用戶名 -p密碼 庫名 < 備份文

8./* 鎖表 */ ------------------------------------------------------------------------------------------------------------------ 8./* 鎖表 */

表鎖定只用于防止其它客戶端進行不正當?shù)刈x取和寫入
MyISAM 支持表鎖,InnoDB 支持行鎖
-- 鎖定
LOCK TABLES tbl_name [AS alias]
-- 解鎖
UNLOCK TABLES

9./* 用戶和權(quán)限管理 */ -------------------------------------------------------------------------------------------------------- 9./* 用戶和權(quán)限管理 */

用戶信息表:mysql.user
-- 刷新權(quán)限
FLUSH PRIVILEGES
-- 增加用戶
CREATE USER 用戶名 IDENTIFIED BY [PASSWORD] 密碼(字符串)
- 必須擁有mysql數(shù)據(jù)庫的全局CREATE USER權(quán)限,或擁有INSERT權(quán)限。
- 只能創(chuàng)建用戶,不能賦予權(quán)限。
- 用戶名,注意引號:如 'user_name'@'192.168.1.1'
- 密碼也需引號,純數(shù)字密碼也要加引號
- 要在純文本中指定密碼,需忽略PASSWORD關(guān)鍵詞。要把密碼指定為由PASSWORD()函數(shù)返回的混編值,需包含關(guān)鍵字PASSWORD
-- 重命名用戶
RENAME USER old_user TO new_user
-- 設置密碼
SET PASSWORD = PASSWORD('密碼') -- 為當前用戶設置密碼
SET PASSWORD FOR 用戶名 = PASSWORD('密碼') -- 為指定用戶設置密碼
-- 刪除用戶
DROP USER 用戶名
-- 分配權(quán)限/添加用戶
GRANT 權(quán)限列表 ON 表名 TO 用戶名 [IDENTIFIED BY [PASSWORD] 'password']
- all privileges 表示所有權(quán)限
- *.* 表示所有庫的所有表
- 庫名.表名 表示某庫下面的某表
-- 查看權(quán)限
SHOW GRANTS FOR 用戶名
-- 查看當前用戶權(quán)限
SHOW GRANTS; 或 SHOW GRANTS FOR CURRENT_USER; 或 SHOW GRANTS FOR CURRENT_USER();
-- 撤消權(quán)限
REVOKE 權(quán)限列表 ON 表名 FROM 用戶名
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 用戶名 -- 撤銷所有權(quán)限
-- 權(quán)限層級
-- 要使用GRANT或REVOKE,您必須擁有GRANT OPTION權(quán)限,并且您必須用于您正在授予或撤銷的權(quán)限。
全局層級:全局權(quán)限適用于一個給定服務器中的所有數(shù)據(jù)庫,mysql.user
GRANT ALL ON *.*和 REVOKE ALL ON *.*只授予和撤銷全局權(quán)限。
數(shù)據(jù)庫層級:數(shù)據(jù)庫權(quán)限適用于一個給定數(shù)據(jù)庫中的所有目標,mysql.db, mysql.host
GRANT ALL ON db_name.*和REVOKE ALL ON db_name.*只授予和撤銷數(shù)據(jù)庫權(quán)限。
表層級:表權(quán)限適用于一個給定表中的所有列,mysql.talbes_priv
GRANT ALL ON db_name.tbl_name和REVOKE ALL ON db_name.tbl_name只授予和撤銷表權(quán)限。
列層級:列權(quán)限適用于一個給定表中的單一列,mysql.columns_priv
當使用REVOKE時,您必須指定與被授權(quán)列相同的列。

以上所述是小編給大家介紹的Mysql精粹系列(精粹),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 一步一步教你網(wǎng)站同步鏡像(轉(zhuǎn)載)

    一步一步教你網(wǎng)站同步鏡像(轉(zhuǎn)載)

    一步一步教你網(wǎng)站同步鏡像(轉(zhuǎn)載)...
    2006-10-10
  • 聊聊MySQL中的參數(shù)

    聊聊MySQL中的參數(shù)

    這篇文章主要介紹了MySQL中的參數(shù)是什么,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下
    2020-09-09
  • MySQL中建表與常見的類型設計陷阱詳解

    MySQL中建表與常見的類型設計陷阱詳解

    這篇文章詳細講解了MySQL的建表語句、以及表結(jié)構(gòu)的設計規(guī)范和陷阱,并對網(wǎng)絡上常見的資料給出的設計方案。文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-11-11
  • mysql臟頁是什么

    mysql臟頁是什么

    本文主要介紹了什么是mysql臟頁,為什么會出現(xiàn)臟頁,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-07-07
  • navicat連接mysql出現(xiàn)2059錯誤的解決方法

    navicat連接mysql出現(xiàn)2059錯誤的解決方法

    這篇文章主要為大家詳細介紹了navicat連接mysql出現(xiàn)2059錯誤的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • MySQL主從同步必然有延遲如何解決

    MySQL主從同步必然有延遲如何解決

    MySQL主從同步延遲的解決方案包括優(yōu)化硬件和網(wǎng)絡、MySQL配置、數(shù)據(jù)庫結(jié)構(gòu)和查詢、監(jiān)控和告警、架構(gòu)優(yōu)化、業(yè)務層面解決,選擇合適的解決方案需要綜合考慮延遲容忍度、數(shù)據(jù)一致性要求、系統(tǒng)復雜性和成本
    2025-03-03
  • windows10+mysql8.0.11zip安裝教程詳解

    windows10+mysql8.0.11zip安裝教程詳解

    這篇文章主要介紹了windows10+mysql8.0.11zip安裝教程詳解,本文給大家介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下
    2018-05-05
  • mysqli多查詢特性 實現(xiàn)多條sql語句查詢

    mysqli多查詢特性 實現(xiàn)多條sql語句查詢

    mysqli相對于mysql有很多優(yōu)勢,mysqli連接數(shù)據(jù)庫和mysqli預處理prepare使用,不僅如此,mysqli更是支持多查詢特性
    2012-12-12
  • MySQL中臨時表的基本創(chuàng)建與使用教程

    MySQL中臨時表的基本創(chuàng)建與使用教程

    這篇文章主要介紹了MySQL中臨時表的基本創(chuàng)建與使用教程,注意臨時表中數(shù)據(jù)的清空問題,需要的朋友可以參考下
    2015-12-12
  • Mysql解決數(shù)據(jù)庫N+1查詢問題

    Mysql解決數(shù)據(jù)庫N+1查詢問題

    在本篇文章里小編給大家分享了關(guān)于Mysql解決數(shù)據(jù)庫N+1查詢問題的相關(guān)知識點內(nèi)容,需要的朋友們參考下。
    2019-07-07

最新評論

鹤峰县| 夹江县| 同德县| 甘泉县| 丘北县| 洛宁县| 桃园市| 涡阳县| 福安市| 儋州市| 明溪县| 延津县| 马边| 永安市| 全州县| 通辽市| 广东省| 尼木县| 靖宇县| 苍南县| 龙山县| 扶风县| 伊吾县| 石屏县| 广平县| 中超| 阿鲁科尔沁旗| 武鸣县| 察隅县| 葵青区| 疏附县| 琼海市| 九江县| 大安市| 库尔勒市| 日喀则市| 潜江市| 汤阴县| 陇西县| 增城市| 昌江|