一 什么是數(shù)據(jù)庫(kù)
存儲(chǔ)數(shù)的倉(cāng)庫(kù)
將數(shù)據(jù)有組織,按照特定的格式存儲(chǔ)在介質(zhì)上叫數(shù)據(jù)庫(kù)
二 比較多個(gè)數(shù)據(jù)庫(kù)
1.Oracle 最好的數(shù)據(jù)庫(kù),沒(méi)有之一
2.sqlserver 最好的數(shù)據(jù)庫(kù)(windows)
3.mysql 開源sun公司 甲骨文(oracle)
4.maria db
三 sql語(yǔ)言
a)sql 結(jié)構(gòu)化查詢語(yǔ)句數(shù)據(jù)庫(kù)管理系統(tǒng)通過(guò)sql語(yǔ)句管理數(shù)據(jù)庫(kù)中的數(shù)據(jù)
1.數(shù)據(jù)定義語(yǔ)言(ddl)
用來(lái)定義和管理數(shù)據(jù)對(duì)象 包含數(shù)據(jù)庫(kù) 數(shù)據(jù)表
例如:create drop
2.數(shù)據(jù)操作語(yǔ)言(dml)
用來(lái)操作數(shù)據(jù)庫(kù)對(duì)象中的所有數(shù)據(jù)
例如:insert update delete
3.數(shù)據(jù)查詢語(yǔ)句(dql)
用來(lái)查詢數(shù)據(jù)對(duì)象中的所有數(shù)據(jù)
例如:select
4.數(shù)據(jù)控制語(yǔ)言(dcl)
用來(lái)管理數(shù)據(jù)庫(kù)的語(yǔ)言 包含賦予權(quán)限和更改權(quán)限
修改數(shù)據(jù)庫(kù)
例如 grant 等
四 為什么我們要學(xué)習(xí)mysql
1 mysql 免費(fèi)
2 跨平臺(tái)
3 功能強(qiáng)大且方便
五 web開發(fā)原理
瀏覽器 服務(wù)器 php 數(shù)據(jù)庫(kù)
六 登錄和退出mysql服務(wù)器
1.登錄 windows鍵 + r
2.運(yùn)行輸入框
3.運(yùn)行輸入框
1) mysql -hlocalhost -uroot -p123456
2) mysql -hlocalhost -uroot -p
password:******
4.第二種進(jìn)入到mysql控制臺(tái)
使用wamp ->mysql->mysql console ->輸入密碼 ,回車即可
5.mysql -h local -uroot -p
-h 主機(jī)名 -u 用戶名 -p 密碼
主機(jī)名:就是你要連接數(shù)據(jù)庫(kù)的所在 ip localhost是本地主機(jī)名 只能本地使用
mysql -h 192.168.40.111
用戶名:root 數(shù)據(jù)庫(kù)最高用戶 超級(jí)用戶
密碼: 密碼默認(rèn)值為空
6.如果在運(yùn)行框中輸入內(nèi)容找不到文件 ,那么請(qǐng)進(jìn)行下面操作
打開計(jì)算機(jī)郵件-》屬性 -》高級(jí)設(shè)置-》環(huán)境變量-》path選項(xiàng)加入mysql\bin 路徑 保存重啟電腦生效
7.退出 1)exit
2) \q
注意:
1.每個(gè)sql命令都需要使用分號(hào)來(lái)結(jié)尾
2.可以將一行命令拆分成多行
3.可以通過(guò)\c來(lái)取消本行命令
4.可以通過(guò)exit 或者 \q 退出
8.可以通過(guò)一些快捷鍵進(jìn)行使用help
1)將查詢結(jié)果立起來(lái) \G
2) 取消當(dāng)前未完成的操作 \c
3) 退出當(dāng)前客戶端 \q
4) 顯示當(dāng)前服務(wù)器狀態(tài) \s
5) 顯示幫助信息 \h
七 查看數(shù)據(jù)庫(kù)及創(chuàng)建數(shù)據(jù)庫(kù)
SHOW DATABASE 查看數(shù)據(jù)庫(kù)
[] 中括號(hào)代表可寫不可以寫 ,不是必須有的內(nèi)容
CEREATE DATABASE [IF NOT EXISTS] 數(shù)據(jù)庫(kù)名(小寫)
如果創(chuàng)建的數(shù)據(jù)庫(kù)不存在,我們則創(chuàng)建數(shù)據(jù)庫(kù)
八 選擇數(shù)據(jù)庫(kù)及查看數(shù)據(jù)庫(kù)中的數(shù)據(jù)庫(kù)表
USE 數(shù)據(jù)庫(kù)名; 選擇數(shù)據(jù)庫(kù)
如果不使用上面命令會(huì)出現(xiàn)下面的報(bào)錯(cuò)代碼
ERROR 1046(3D000):No database selected
SHOW TABLES; 查看數(shù)據(jù)庫(kù)中的表
九刪除數(shù)據(jù)庫(kù)
DROP DATAFILES [IF EXISTS] 數(shù)據(jù)庫(kù)名
如果存在,我們就刪除
注意:1.mysql數(shù)據(jù)庫(kù)中命令不區(qū)分大小寫
2.每創(chuàng)建一個(gè)數(shù)據(jù)庫(kù) ,就會(huì)在data目錄下創(chuàng)建一個(gè)對(duì)應(yīng)名字的文件夾
3.在windows 下面數(shù)據(jù)庫(kù)名稱也是不區(qū)分大小寫的,但是在linux下 數(shù)據(jù)庫(kù)名稱嚴(yán)格區(qū)分大小寫
十 創(chuàng)建一個(gè)簡(jiǎn)單的數(shù)據(jù)庫(kù)表
CREATE TABLE IF NOT EXISTS user(
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
sex TINYINT NOT NULL DEFAULT 1,
age TINYINT NOT NULL DEFAULT 0,
)ENGINE=MyISAM DEFAULT CHARSET=utf8;
十一 表中的數(shù)據(jù)簡(jiǎn)單的管理(增刪改查)
1.添加數(shù)據(jù) INSERT INTO 表名 VALUES (值)
2.查詢數(shù)據(jù) SELECT * FROM 表名;
3.修改數(shù)據(jù) UPDATE 表名 SET 你要修改內(nèi)容 WHERE id=數(shù)字;
4.刪除數(shù)據(jù) DELETE FROM 表名 WHERE id=數(shù)字;
where id= 后面必須加數(shù)字,否則就是全部刪除;
十二 新建普通用戶
GRANT 權(quán)限 ON 庫(kù).表 TO '用戶名'@'主機(jī)名' IDENTIFIED BY '密碼';
*代表所有,前面* 代表所有庫(kù),后面*代表所有表
@前面寫用戶名 后面寫的是主機(jī)名
主機(jī)名 只有本地是localhost ,如果是別的主機(jī) 主機(jī)名就是別的主機(jī)的ip地址 如192.168.xx.xx
重點(diǎn): GRANT 語(yǔ)句不僅可以創(chuàng)建用戶,也可以修改用戶密碼,而且可以設(shè)置用戶權(quán)限,因此GRANT語(yǔ)句是mysql中 非常重要的語(yǔ)句
十三 查看所有用戶 SELECT user ,host FROM mysql.user
十四 刪除普通用戶 DROP USER 用戶名@主機(jī)名;
十五 root 用戶修改自己的密碼
SET PASSWORD =PASSWORD('新密碼');
注意:新密碼必須使用PASSWORD() 加密函數(shù)進(jìn)行加密
十六 修改普通用戶密碼
SET PASSWORD FOR '用戶名'@'主機(jī)名'=PASSWORD('新密碼');
十七 授權(quán)
GRANT SELECT ,INSERT,UPDATE,DELETE ON *.* TO '用戶名'@'主機(jī)名' IDENTIFIED BY '密碼'
GRANT:被授權(quán)的用戶可以將這些權(quán)限賦值給別的用戶
十八 報(bào)錯(cuò)
ERROR 1049 (42000):Unknown database 'ss22:'
沒(méi)有ss22:這個(gè)數(shù)據(jù)庫(kù)
十九 收回權(quán)限
1.查看權(quán)限 SHOW GRANT FOR '用戶名'@'主機(jī)名'
2.收回權(quán)限 REVOKE 要收回的權(quán)限 ON 庫(kù)名.表名 FROM '用戶名'@'主機(jī)名'
如果你收回的用戶出現(xiàn)下面報(bào)錯(cuò)說(shuō)明收回成功
ERROR 1142 (42000):DELETE command denied to user 'litao'@'localhost' for table 'user'
二十 數(shù)據(jù)備份
1.需要在cmd命令行中實(shí)現(xiàn)
2.windows+r 在運(yùn)行框中輸入cmd
3.mysqldump -u 用戶名 -p 庫(kù)名 >保存路徑
4.例如:mysqldump -uroot -p ss22>c:\ss22.sql
5.如果輸入上面內(nèi)容出現(xiàn)下面代碼
拒絕訪問(wèn)
6.開始-》所有程序-》附件-》命令提示符 是你用超級(jí)管理員身份打開
二十一 還原數(shù)據(jù)
首先必須準(zhǔn)備一個(gè)空的數(shù)據(jù)庫(kù) ss22
mysql -u 用戶名 -p 庫(kù)名 <保存地址
mysql -uroot -p ss22<c:\ss22.sql
重點(diǎn) 語(yǔ)句后別寫分號(hào)
聯(lián)系客服