1. 程式人生 > >DDL語句--建立資料庫

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的命令中,也有可能使用到識別符號,識別符號可用

於定義表名,列名,也可以用於定義變數等。

  • sql命令識別符號的命名規則如下:

1,識別符號通常必須以字母開頭

2,識別符號包括字母,資料和三個特殊字元(# _ $)

3,不要使用當前資料庫系統的關鍵字,保留字,通常建議使用多個單詞連綴而成,單詞之間用‘_’分隔

4,同一個模式下的物件不應該同名,這裡的模式指的是外模式

OK,通過上面的介紹了,我們知道一般在實際編碼中我們一般會使用DDL,DML,和查詢。

  • 現在讓我們開始DDL旅程,這裡先從建立資料庫開始。

建立資料庫是指在資料庫系統中劃分一塊空間,用來儲存相應的資料。這是進行表操作的基礎,也是進行資料庫管理的基礎。在MySQL中,建立資料庫必須通過sql語句的create database來實現
。語法形式如下:
CREATE DATABSE 資料庫名;
其中,‘資料庫名’引數表示所要建立的資料庫的名稱。在建立資料庫之前,可以使用SHOW語句來顯示現在已經存在的資料庫。語法形式如下:
SHOW DATABASES;


  • OK,現在我們來實際操作下資料庫。
1,先來show一下看下我的資料庫中存在的資料庫;
執行如下語句:
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,沒問題,建立成功。




  • 控制檯輸出說明:
1,上面我們在建立表的時候,控制檯輸出如下:
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秒。