- 數(shù)據(jù)庫的一些基本操作:
1.安裝服務(wù)端
yum groupinsatll mariadb
2.安裝客戶端
yum install mariadb-client
3.啟動服務(wù)端
systemctl start mariadb
4.設(shè)置開機啟動
systemctl enable mariadb
- 為提高安全性需執(zhí)行安全性的執(zhí)行腳本
mysql_secure_installation
為mariadb的跟密碼輸入當前密碼怯屉,如果你是新安裝的mariadb數(shù)據(jù)庫沒有密碼則直接按下enter鍵即可- 設(shè)置root密碼(輸入兩次確認)
- 刪除匿名用戶
- 不允許遠程root登錄
- 刪除測試數(shù)據(jù)庫
- 重新加載權(quán)限表
- 優(yōu)化mariadb可以在配置文件中加入一行:
skip_name_resolve=on(忽略名字解析娩梨,優(yōu)化速度) - 在root/下創(chuàng)建.my.cnf文件尤溜,內(nèi)容如下:
[client]
user=root
password=123456
host=localhost
保存退出呛踊,我們在使用本機連接數(shù)據(jù)庫時無需輸入用戶名及密碼
# vim /etc/my.cnf
啟用一個表對應(yīng)一個獨立文件然后使用mysql命令連接數(shù)據(jù)庫
DDL語句:
DDL:數(shù)據(jù)庫定義語言
1.CREATE [kr?'et]:創(chuàng)建數(shù)據(jù)庫
2.DROP[drɑp]:刪除數(shù)據(jù)庫
3.ALTER['?lt?]:修改數(shù)據(jù)庫
DML:數(shù)據(jù)庫處理語言
1.INSERT ['?ns?t]:插入添加數(shù)據(jù)
2.DELETE [d?'lit]:刪除表里內(nèi)容
3.UPDATE[,?p'det]:更新數(shù)據(jù)
DCL:數(shù)據(jù)控制語言
1.GRANT[ɡr?nt]:授權(quán)
2.REVOKE[r?'vok]:取消授權(quán)
DQL:數(shù)據(jù)查詢語言
1.SELECT[s?'l?kt]:查詢
-
數(shù)據(jù)庫操作:
-
刪除新建的數(shù)據(jù)庫
-
查看支持的所有字符集
-
查看支持的所有排序規(guī)則
-
獲取命令使用幫助
- 關(guān)系型數(shù)據(jù)庫的常見組件
數(shù)據(jù)庫:database
表:table
行:row
列:column
索引:index
視圖:view
用戶:user
權(quán)限:privilege
存儲過程:procedure酸休,過程無返回值
存儲函數(shù):function宫静,過程有返回值
觸發(fā)器:trigger
事件調(diào)度器:event scheduler,任務(wù)計劃 -
查看系統(tǒng)自帶的表
-
查看表的所有字段
-
由于表中的字段太多银择,我們可以挑一些字段來顯示
-
顯示默認引擎及列表
-
縱向顯示
- 數(shù)據(jù)類型
1、整型
? tinyint(m)1個字節(jié)范圍(-128~127)
? smallint(m)2個字節(jié)范圍(-32768~32767)
? mediumint(m)3個字節(jié)范圍(-8388608~8388607)
? int(m)4個字節(jié)范圍(-2147483648~2147483647)
? bigint(m)8個字節(jié)范圍(+-9.22*10的18次方)
2累舷、浮點型(float和double)浩考,近似值
?float(m,d)單精度浮點型8位精度(4字節(jié)) m總個數(shù),d小數(shù)位
?double(m,d)雙精度浮點型16位精度(8字節(jié)) m總個數(shù)被盈,d小數(shù)位
?設(shè)一個字段定義為float(6,3)析孽,如果插入一個數(shù)123.45678,實際數(shù)據(jù)庫里存的是123.457搭伤,但總個數(shù)還以實際為準,即6位
3袜瞬、定點數(shù)
?在數(shù)據(jù)庫中存放的是精確值,存為十進制
4怜俐、字符串(char,varchar,_text)
?char(n)固定長度,最多255個字符
?varchar(n)可變長度邓尤,最多65535個字符
?tinytext可變長度拍鲤,最多255個字符
?text可變長度,最多65535個字符
?mediumtext 可變長度汞扎,最多2的24次方-1個字符
?longtext可變長度殿漠,最多2的32次方-1個字符
?BINARY(M) 固定長度,可存二進制或字符佩捞,允許長度為0-M字節(jié)绞幌,
?VARBINARY(M) 可變長度,可存二進制或字符一忱,允許長度為0-M字節(jié)
?內(nèi)建類型:ENUM枚舉, SET集合
5.二進制數(shù)據(jù):BLOB
?BLOB和text存儲方式不同莲蜘,TEXT以文本方式存儲,英文存儲區(qū)分大小寫帘营,而Blob是以二進制方式存儲票渠,不分大小寫
?BLOB存儲的數(shù)據(jù)只能整體讀出
?TEXT可以指定字符集,BLOB不用指定字符集
6.日期時間類型
?date日期'2008-12-2'
?time時間'12:25:36'
?datetime日期時間'2008-12-2 22:06:44'
?timestamp自動存儲記錄修改時間
?YEAR(2), YEAR(4):年份 - 修飾符
所有類型:
?NULL數(shù)據(jù)列可包含NULL值
?NOT NULL數(shù)據(jù)列不允許包含NULL值
?DEFAULT默認值
?PRIMARY KEY主鍵
?UNIQUE KEY 唯一鍵
?CHARACTER SET name指定一個字符集
數(shù)值型
?AUTO_INCREMENT自動遞增芬迄,適用于整數(shù)類型
?UNSIGNED無符號 -
創(chuàng)建表及查看表結(jié)構(gòu)
-
復(fù)合主鍵的創(chuàng)建寫法(使用id问顷,name作為復(fù)合主鍵)
-
刪除表
- 對表添加字段
注:也可以在那個字段前面添加,只需要把after改為first即可禀梳! 如果表中有數(shù)據(jù)的情況下杜窄,新添加一個字段就會出現(xiàn)空值,不建議添加
-
刪除表中的字段
-
查看表的索引
-
添加索引
-
刪除索引
- 索引是特殊數(shù)據(jù)結(jié)構(gòu)算途;定義在查找時作為查找條件的字段
- 優(yōu)點:提高查詢速度
- 缺點:占用額外空間塞耕,影響插入速度
- 創(chuàng)建索引必須要有索引名稱
-
創(chuàng)建索引:
-
刪除索引:
DML語句:
- 數(shù)據(jù)的操作語言
INSERT增加數(shù)據(jù)內(nèi)容
DELETE刪除數(shù)據(jù)內(nèi)容
UPDATE修改數(shù)據(jù)內(nèi)容 -
查看表的內(nèi)容:
-
添加表內(nèi)容:
-
添加多行內(nèi)容:
- 根據(jù)一張表創(chuàng)建另一張表;
注:emp表不存在
- 清空表的內(nèi)容:
注:使用這條命令也可以清空表數(shù)據(jù)----->delete from emp:效率沒有上圖中的命令快嘴瓤,之所以效率慢是因為記錄日志扫外,為以后恢復(fù)數(shù)據(jù)有幫助
- 對一張新表插入內(nèi)容:
注:這兩張表的數(shù)據(jù)結(jié)構(gòu)必須相同,且emp表必須存在
-
修改表的內(nèi)容
-
修改多個字段內(nèi)容:
-
刪除表里的內(nèi)容:
DQL語句
DQL:SELECT 查詢
字段表示法:
*: 所有字段
as:字段別名廓脆,col1 AS alias1
-
根據(jù)條件顯示內(nèi)容使用where語句顯示范圍內(nèi)的數(shù)據(jù):
-
根據(jù)字段排序【正序或倒序】
-
在排序的基礎(chǔ)上筛谚,可以跳過幾個顯示幾個!
- LIKE:
%:任意長度的任意字符
_:任意單個字符停忿;
RLIKE:正則表達式模式匹配
IS NULL 驾讲,IS NOT NULL
IN (val1,val2,…)
條件邏輯操作:
and,or,not
like:模糊查詢 -
我們這里有兩張表蝎毡,一張liebiao厚柳,一張emp氧枣,我們查找兩張表id及名字相同的人
用戶賬號
-
創(chuàng)建用戶賬號并授權(quán)可以登錄數(shù)據(jù)庫沐兵,但不具備管理權(quán)限
創(chuàng)建用戶:
-
刪除用戶:
-
修改密碼
- 另一種修改方法,直接修改表數(shù)據(jù)
注意:上面修改表的命令不會馬上生效便监,需執(zhí)行FLUSH PRIVILEGES生效
授權(quán)
只有插入權(quán)限扎谎,沒有刪除跟修改的權(quán)限,想要有刪改權(quán)限烧董,只需要把select 毁靶,insert改為all即可!就可擁有所有權(quán)限
-
查看庫中的所有表
-
回收權(quán)限
-
創(chuàng)建用戶時就庫中的表授權(quán)