DDL語句--建立資料庫
OK,從這篇部落格開始我來認真的整理一下資料庫相關操作,也就是sql語句。
sql的全稱是structured query language,也就是結構化查詢語言。sql是操作和檢索關係資料庫的標準語言,標準的sql語句可用於操作任何關係資料庫。
- 使用sql語句,程式設計師和資料庫操作員也叫DBA可以完成如下任務:
1,在資料庫中檢索資訊
2,對資料庫中的資訊進行更新
3,改變資料庫的結構
4,更改系統的安全設定
5,增加或回收使用者對資料庫,表的許可許可權。
在上面的5個任務中,一般程式設計師可以管理前3個任務,後面的2個任務通常由DBA來完成。
- 標準的sql語句通常可分為如下幾種型別:
1,查詢語句:主要是select關鍵字完成,查詢語句是sql語句中最複雜,功能最豐富的語句
2,DML:資料操作語言,主要由insert,udpate,delete3個關鍵字完成
3,DDL:資料定義語言,主要有create,alter,drop,truncate4個關鍵字完成
4,DCL:資料控制語言,主要有grant和revoke2個關鍵字完成
5,事務控制語句:主要由commit,rollback和savepoint3個關鍵字完成
sql語句的關鍵字不區分大小寫,也就是說,create和CTEATE的作用完全一樣。在上面的5種sql語句中,DCL語句用於為資料庫使用者授權,或者回收指定的使用者的許可權,通常無須程式設計師操作。
於定義表名,列名,也可以用於定義變數等。
- sql命令識別符號的命名規則如下:
1,識別符號通常必須以字母開頭
2,識別符號包括字母,資料和三個特殊字元(# _ $)
3,不要使用當前資料庫系統的關鍵字,保留字,通常建議使用多個單詞連綴而成,單詞之間用‘_’分隔
4,同一個模式下的物件不應該同名,這裡的模式指的是外模式
OK,通過上面的介紹了,我們知道一般在實際編碼中我們一般會使用DDL,DML,和查詢。
- 現在讓我們開始DDL旅程,這裡先從建立資料庫開始。
建立資料庫是指在資料庫系統中劃分一塊空間,用來儲存相應的資料。這是進行表操作的基礎,也是進行資料庫管理的基礎。在MySQL中,建立資料庫必須通過sql語句的create database來實現
CREATE DATABSE 資料庫名;
其中,‘資料庫名’引數表示所要建立的資料庫的名稱。在建立資料庫之前,可以使用SHOW語句來顯示現在已經存在的資料庫。語法形式如下:SHOW DATABASES;
- OK,現在我們來實際操作下資料庫。
執行如下語句:
SHOW DATABASES;
資料庫顯示如下:
從上面的查詢結果看,現在我的資料庫中已經有4個數據庫了。分別是information_schema,performance_schema,mysql,linkinframe。前面3個數據庫是MySQL自帶的,後面一個是我自己建的。
2,現在我們來建立一個數據庫,執行如下語句:CREATE DATABSE LinkinPark;
控制檯顯示建立成功,1 row(s) affected
3,為了校驗資料庫中建立LinkinPark是否成功,我們再來show一次看下結果;
資料庫顯示如下:
OK,沒問題。建立LinkinPark資料庫成功。
- 終端操作MySQL。
上面我們是通過MySQL的客戶端工具來操作的資料庫,實際編碼中一般都會使用客戶端來做相關資料庫操作,當然,我們也可以直接通過終端來操作MySQL。
現在我們來通過終端演示下如何操作MySQL,知道就好了,以後我們還是使用MySQL的客戶端好點,不管是顯示還是操作都很方便的,基本的sql也不同我們寫。
首先開啟終端,輸入myql -h localhost -u root -p 輸入密碼後連上本地的資料庫:
Last login: Thu Mar 24 14:40:44 on ttys000
➜ ~ source .bash_profile
➜ ~ mysql -h localhost -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 39
Server version: 5.5.46 MySQL Community Server (GPL)
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
出現上面的一塊內容,就表示我們已經成功的連線上了資料庫。從上面的資訊也可以看得出來,sql命令可以使用“;”或者“\g”來結束;然後我們用的mysql的版本是5.5.46的。
然後我們show一下有哪些資料庫:
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| linkinframe |
| mysql |
| performance_schema |
+--------------------+
4 rows in set (0.01 sec)
然後我們在create一個數據庫:
mysql> CREATE DATABASE LinkinPark
-> ;
Query OK, 1 row affected (0.00 sec)
然後我們再次show一下有哪些資料庫:
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| LinkinPark |
| linkinframe |
| mysql |
| performance_schema |
+--------------------+
5 rows in set (0.00 sec)
OK,沒問題,建立成功。
- 控制檯輸出說明:
Query OK, 1 row affected (0.00 sec)
“Query OK”表示建立,修改和刪除成功,“1 row affected (0.00 sec)”表示一行收到影響,處理時間為0.00秒。2,然後我們在show資料庫的時候,控制檯輸出如下:
4 rows in set (0.00 sec)
上面這行控制檯輸出表示集合中有4行資訊,處理時間為0.00秒。0.00秒並不代表沒有花費時間,而是時間非常短,小於0.01秒。