MySQL資料庫以及表的管理

來源:互聯網
上載者:User

標籤:actions   它的   nec   變數   character   dba   rip   完整性   alter   

                          MySQL資料庫以及表的管理

                                          尹正傑

著作權聲明:原創作品,謝絕轉載!否則將追究法律責任。

 

 

  今天我們探討的話題就是如何使用MySQL做開發,我們營運的主要工作不是去開發SQL的,但儘管如此,我們有可能需要對別人寫出來的複雜SQL語句做效能評估,去分析他們寫的SQL語句是不是足夠高效,如果不是的話,我們還要能夠達到對對方的SQL語句做改寫的能力。所以,我們無需自行去開發SQL,但是我們一定要有一個看懂別人寫的SQL的能力喲!    一.DBA的職責1.開發DBA:  負責資料庫設計(E-R關係圖)、sql開發、內建函數、儲存曆程(預存程序和儲存函數)、觸發器、時間調度器(event scheduler)2.管理DBA:  負責安裝、升級、備份、恢複、使用者管理、許可權管理、監控、分析、基準測試,語句最佳化(SQL語句)、資料字典,按需要設定管理員(伺服器變數:MyISAM,InnoDB,緩衝,日誌)  二.SQL語言群組成部分1.DDL:  全稱Data Defination,我們叫它資料定義語言 (Data Definition Language),典型命令指令有CREAT/ALTER/DROP2.DML:  全稱Data Manipulation,我們叫它資料操作語言,典型命令有INSERT/DELETE/SELECT/UPDATE3.完整性定義語言,DDL的一部分功能  主鍵約束、外鍵約束、唯一鍵約束、條件約束、非空約束、事務約束4.視圖定義:即虛表,它是儲存下來的select語句5.事務控制:  例如Transactions(在mysql互動介面執行“HELP content”可以查看相關資訊。)6.嵌入式SQL和動態SQL:7.DCL:  我們叫它資料控制語言,如實現授權和許可權收回的典型命令有GRANT/REVOKE.  三.資料類型的功用MySQL的資料類型請參考:http://www.cnblogs.com/yinzhengjie/p/7818092.html1.儲存的實值型別;2.佔據的儲存空間大小;3.定長,變長;4.如何被索引及排序;5.是否能夠被索引;  四.資料字典:依賴系統編目(花名冊)(system catalog)  對於關係型資料庫來講,它的資料字典也是另外找個地方存起來的。對於MySQL資料庫來講,這個位置就是名稱為mysql的資料庫。我們在第一次啟動MySQL時,它第一步工作就是初始化系統資料表,所謂初始化系統資料表就是用來建立mysql這個資料庫的。我們也可以稱這個mysql資料庫叫做MySQL的資料字典。資料字典是用來儲存資料庫伺服器上的中繼資料。那麼什麼是中繼資料呢?我總結有以下幾點:1>.儲存關係(表)的名字2>.儲存每個關係(表)的各欄位的名字3>.儲存各欄位的資料類型和長度4>.儲存約束條件5>.儲存每個關係(表)上的視圖的名字及視圖的定義6>.儲存授權使用者(user表)的名字7>.儲存使用者的授權和賬戶資訊等8>.統計類的資料,如每個關係欄位的個數,每個關係中行數,每個關係的儲存方法9>.儲存中繼資料的資料庫( 即:information_schema,mysql, performance_schema)   五.MySQL內部組件  如所示,連接器(Connectors)和串連池他們之間是建立串連關係的。串連池(Connection Pool)的所有SQL語句都得發送給SQL介面(SQL Interface)進行接收,然後再由分析器(Parser)進行分析,由最佳化器(Optimizer)進行最佳化處理,最終我們有可能在緩衝(Caches&Buffers)中擷取資料,實在再不行在交由儲存引擎(Pluggable Storage Engines)去執行SQL語句。

 

六.MySQL中字元大小寫情況說明1.SQL關鍵字及函數不區分大小寫;2.資料庫、表及視圖名稱的大小寫區分與否取決於底層OS(作業系統)及FS(檔案系統);3.預存程序、儲存函數及事件調度器的名字不區分大小寫,但觸發器區分大小寫;4.表別名區分大小寫;5.對欄位中的資料,如果欄位類型為binary類型,則區分大小寫,非binary不區分大小寫;  七.SQL指令詳解-資料庫操作1.資料庫的建立a>.查看建立庫時的協助資訊
 1 mysql> help create database             2 Name: ‘CREATE DATABASE‘ 3 Description: 4 Syntax: 5 CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name 6     [create_specification] ... 7  8 create_specification: 9     [DEFAULT] CHARACTER SET [=] charset_name               #設定字元集10   | [DEFAULT] COLLATE [=] collation_name                    #設定排序方式11 12 CREATE DATABASE creates a database with the given name. To use this13 statement, you need the CREATE privilege for the database. CREATE14 SCHEMA is a synonym for CREATE DATABASE.15 16 URL: http://dev.mysql.com/doc/refman/5.1/en/create-database.html17 18 19 mysql> 
b>.建立不存在的資料庫
 1 mysql> show databases; 2 +--------------------+ 3 | Database           | 4 +--------------------+ 5 | information_schema | 6 | mysql              | 7 | test               | 8 +--------------------+ 9 3 rows in set (0.00 sec)10 11 mysql> 12 mysql> create database yinzhengjie;13 Query OK, 1 row affected (0.01 sec)14 15 mysql> show databases;16 +--------------------+17 | Database           |18 +--------------------+19 | information_schema |20 | mysql              |21 | test               |22 | yinzhengjie        |23 +--------------------+24 4 rows in set (0.00 sec)25 26 mysql> 
c>.已經存在資料庫的如何使用建立命令
 1 mysql> show databases; 2 +--------------------+ 3 | Database           | 4 +--------------------+ 5 | information_schema | 6 | mysql              | 7 | test               | 8 | yinzhengjie        | 9 +--------------------+10 4 rows in set (0.00 sec)11 12 mysql> create database if not exists yinzhengjie;13 Query OK, 1 row affected, 1 warning (0.00 sec)14 15 mysql> show databases;16 +--------------------+17 | Database           |18 +--------------------+19 | information_schema |20 | mysql              |21 | test               |22 | yinzhengjie        |23 +--------------------+24 4 rows in set (0.00 sec)25 26 mysql> 
2.資料庫的刪除a>.查看刪除資料庫時的協助資訊     

MySQL資料庫以及表的管理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.