一、初識SQL語言
SQL(Structured Query Language 即結(jié)構(gòu)化查詢語言)
SQL語言主要用于存取數(shù)據(jù)、查詢數(shù)據(jù)、更新數(shù)據(jù)和管理關(guān)系數(shù)據(jù)庫系統(tǒng),SQL語言由IBM開發(fā)。SQL語言分為3種類型:
DDL語句 數(shù)據(jù)庫定義語言: 數(shù)據(jù)庫、表、視圖、索引、存儲過程,例如CREATE DROP ALTER
DML語句 數(shù)據(jù)庫操縱語言: 插入數(shù)據(jù)INSERT、刪除數(shù)據(jù)DELETE、更新數(shù)據(jù)UPDATE、查詢數(shù)據(jù)SELECT
DCL語句 數(shù)據(jù)庫控制語言: 例如控制用戶的訪問權(quán)限GRANT、REVOKE
二、系統(tǒng)數(shù)據(jù)庫
information_schema: 主要存儲了系統(tǒng)中的一些數(shù)據(jù)庫對象的信息,例如用戶表信息、列信息、權(quán)限信息、字符信息等。
performance_schema: 主要存儲數(shù)據(jù)庫服務(wù)器的性能參數(shù)。
mysql: 授權(quán)庫,主要存儲系統(tǒng)用戶的權(quán)限信息。這個庫如果丟失需要重新初始化!但是所有以前的授權(quán)信息丟失!
test: MySQL數(shù)據(jù)庫系統(tǒng)自動創(chuàng)建的測試數(shù)據(jù)庫。對于一個安全的數(shù)據(jù)庫來講,應(yīng)該將這個庫刪除,因為它是共享庫!
三、忘記MySQL密碼
# vim /etc/my.cnf
[mysqld]
skip-grant-table
# service mysqld restart
# mysql
mysql> select user,password,host from mysql.user;
+------+-------------------------------------------+-----------+
| user | password | host |
+------+-------------------------------------------+-----------+
| root | *F861720E101148897B0F5239DB926E756B1C28B3 | localhost |
| root | | sxl.com |
| root | | 127.0.0.1 |
| root | | ::1 |
| | | localhost |
| | | sxl.com |
+------+-------------------------------------------+-----------+
6 rows in set (0.00 sec)
mysql> update mysql.user set password=password("456") where
user="root" and host="localhost";
mysql> flush privileges;
mysql> \q
四、創(chuàng)建數(shù)據(jù)庫
語法
CREATE DATABASE 數(shù)據(jù)庫名;
數(shù)據(jù)庫命名規(guī)則:
可以由字母、數(shù)字、下劃線、@、#、$
區(qū)分大小寫
唯一性
不能使用關(guān)鍵字如 create select
不能單獨使用數(shù)字
最長128位
數(shù)據(jù)庫相關(guān)操作
查看數(shù)據(jù)庫
SHOW DATABASES;
SELECT database();--------------------->查看目前正在操作的數(shù)據(jù)庫
選擇數(shù)據(jù)庫:USE 數(shù)據(jù)庫名
刪除數(shù)據(jù)庫:DORP DATABASE 數(shù)據(jù)庫名;