數(shù)據(jù)庫:數(shù)據(jù)管理軟件,數(shù)據(jù)
數(shù)據(jù)庫發(fā)展:層次模型-------------網(wǎng)狀模型----------------關(guān)系模型-------------對象-關(guān)系模型
DBMS: 數(shù)據(jù)庫管理系統(tǒng)
RDBMS:關(guān)系型數(shù)據(jù)庫管理系統(tǒng)
數(shù)據(jù)庫的常用功能:
Managing storage:數(shù)據(jù)存儲
Maintaining security:安全管理
Maintaining metadata:管理原數(shù)據(jù)
Managing transactions 管理事務(wù)
Supporting connectivity:檢索
Optimizing performance:性能優(yōu)化
Providing back-up and recovery mechanisms:提供備份和恢復(fù)
Processing request for data retrieval and modification:提供數(shù)據(jù)檢索和修改的請求
DataBase:開發(fā)DBA:主要工作:數(shù)據(jù)庫設(shè)計,存儲過程,存儲函數(shù),觸發(fā)器
管理DBA:數(shù)據(jù)庫的升級、備份、恢復(fù)、安裝、卸載,用戶管理,安全管理,架構(gòu)設(shè)計
SQL:
結(jié)構(gòu)化查詢語言
查詢 語句:select , update , delete
ANSI
SQL 標(biāo)準(zhǔn):
SQL-86--------SQL-89--------SQL-92--------SQL-99--------SQL-2003
Core SQL
RDBMS: 大型 Oracle , Sybase , Informix ,
DB2 中型: SQL Server 開源MySQL,PostgreSQLà EnterpriseDB
MySQL Community 社區(qū)版
免費
MySQL Enterprise
企業(yè)版 收費

客戶端連接器:Connectors連接器:
Native C API ,JABC, ODBC, .NET, PHP , Perl
, Python, Ruby, Cobol

DML 數(shù)據(jù)操作語言 DDL 數(shù)據(jù)定義語言 parser:
分析器 optimizer:
pluggable
storage engines 存儲引擎
一般安裝需要的軟件包,打?qū)μ柕氖切枰惭b的,其他的依情況

linux下Mysql啟動次序: 
如果啟動時my.cnf都找到,則以他們的和,如果前者和后者沖突則,以后者為準(zhǔn), 如果mysql home沒有設(shè)置則自動設(shè)置為basedir
windows
下mysql 啟動次序:

MySQL安裝完后默認(rèn)生成5個用戶分別是:root@127.0.0.1 , root@localhost , root@hostname , 兩匿名用戶 ‘’@localhost , ‘’@hostname

SHOW TABLES 查看數(shù)據(jù)庫表
use mysql 更改默認(rèn)某個數(shù)據(jù)庫(如mysql)
DESC 表名 查看表內(nèi)容
SELECT * FROM 表名 查看表信息
FLUSH PRIVILEGES 立即生效
SELECT DATABASE() 顯示當(dāng)前默認(rèn)數(shù)據(jù)庫
DROP DATABASES 數(shù)據(jù)庫表名 刪除某個表
SHOW CHARACTER SE\C 顯示支持的字符集
SHOW COLLATION 現(xiàn)在字符集
SHOW CURRENT_DATE 顯示日期
SHOW CURRENT_DATETIME() 顯示時間
SHOW WARNINGS 查看警告
SHOW ENGINES 顯示存儲引擎
SHOW VARIABLES LIKE “%sql_mode%” 模式
SET sql_mode= 設(shè)置模式
例:SET sql_mode=”STRICT_all_tables” 嚴(yán)格模式,
常用的模式: ANSI 只能使用單引號 ; STRICT_ALL_TABLES嚴(yán)格模式,禁止非法數(shù)據(jù)插入; TRADITIONAL 默認(rèn)模式
mysql變量類型:
全局變量: 對每一個新建的會話都生效
會話變量:只對當(dāng)前會話有效
SHOW GLOBAL VARIALES 全局會話顯示
SHOW SESSION VARIABLES 當(dāng)前會話顯示
例: SHOW GLOBAL VARIALES LIKE “%time%” 在全局中查含time字符
mysql> CREATE DATABASE IF NOT EXISTS aa; 如果不存在aa則創(chuàng)建,腳本中用
mysql> CREATE DATABASE IF NOT EXISTS aa CHARACTER SET ‘gbk’; 創(chuàng)建aa字符集為gbk
mysql> SHOW CREATE DATABASE aa; 查看創(chuàng)建aa的命令
mysql> DROP DATABASE IF EXISTS aa; 存在aa則刪除
改變:
mysql>
主鍵: key :侯選鍵 ;主鍵 primary key ; 唯一鍵 unique key ;外鍵 foreign key
設(shè)置密碼:共有三種:
# mysqladmin –uroot –hlocalhost
password ‘redhat’
mysql> SET PASSWORD FOR ‘root’@’host_name’= PASSWORD(‘’);
mysql > UPDATE
mysql.user SET Password=PASSW(‘REDHAT’ WHERE User=’root’ and Host=’127.0.0.1’;
授權(quán): GRANT ALL PRIVILEGES ON *.* TO
root@’%’ IDENTIFIED BY ‘redha’
FLUSH PRIVIEGES;
登錄mysql
mysql –uroot –h 127.0.0.1 –p
常用選項: --user= --password=
--host= --protocol (tcp ,socket,
) -D db_name
這樣連接需要輸入密碼,如要不輸入密碼可以在.my.cf中加入以下內(nèi)容:
[client]
user=root
password=redhat
刪除用戶: DROP USER ‘’@localhost或’root’@localhost
忘記密碼解決方法:
#service mysqld stop
# mysqld_safe --user=mysql
--skip-grant-tables --skip-networking &
#mysql
mysql> SET
PASSWORD FOR ‘root’@’host_name’=
PASSWORD(‘’);
在Linux中執(zhí)行批處理文件: #
mysql –uroot –p < test.sql 在test.sql寫數(shù)據(jù)腳本
或 mysql> SOURCE /root/test.sql
注:在mysql中寫完一條命令需要用分號結(jié)尾,表示在服務(wù)端執(zhí)行,不加分號在客戶端執(zhí)行
MySQL常用的客戶端工具:mysql
數(shù)據(jù)庫對象:
表, 索引,視圖,觸發(fā)器,存儲過程,存儲函數(shù),事件調(diào)度器,游標(biāo),用戶
\q 退出mysql \h 幫助 \c 取消命令
\d 重新定義結(jié)束符 \g 忽略結(jié)束符 \G 豎排顯示
-E設(shè)置默認(rèn)使用豎排顯示
#mysql –e
“SHOW DATABASES” 在Shell中執(zhí)行MySQL命令
#mysql –e “SELECT User,
Host,Password FROM mysql.user;” 這里必須加mysql.字符,否則會出錯
光標(biāo)跳轉(zhuǎn): Ctrul-e
Ctrul-a Ctrul-u Ctrul-y
Ctrl-w
命令補全功能: mysql> \# 或 rehash打開補全功能
mysqladmin –uroot –p ping 測試狀態(tài) mysqladmin drop 刪除數(shù)據(jù)庫
mysqladmin debug 日志 mysqladmin create sample 常見sample數(shù)據(jù)庫
mysqladmin extended-status 顯示mysql運行狀態(tài)
mysqladmin flush-hosts 手動刷新日志
mysqladmin flush-privileges 刷新權(quán)限 mysqladmin flush-tables
mysqladmin processlist查看當(dāng)前連接狀態(tài) mysqladmin reload
mysqladmin shutdown 關(guān)閉數(shù)據(jù)庫 mysqladmin start-slave 從服務(wù)器啟動
mysqladmin status 顯示狀態(tài) mysqladmin
stop-slave 從服務(wù)器關(guān)閉
mysqladmin version 現(xiàn)在版本
mysqladmin status –sleep 3 –count 2 睡3秒,顯示2次
MySQL圖形化工具: SQLyog , MySQL Front , phpMyAdmin , MySQL Query Browser, MySQL
Administartor , MySQL Workbench |