
系列文章目錄
文章目錄
- 系列文章目錄
- 前言
- 一、資料庫操作之備份、還原
- 二、用戶管理
- 1.用戶資訊
- 2.創建用戶
- 3.洗掉用戶(慎用)
- 4.修改用戶密碼
- 5.給用戶授權
- 6.回收權限
- 三、navicat連接資料庫
- 四、資料庫表結構操作增、刪、查、改
- 1.增加表欄位
- 2.洗掉表欄位
- 3.修改表名字
- 4.修改表欄位屬性(type)
- 5.修改表中的欄位名稱(Field)
- 6.洗掉表(慎用)
- 五、資料型別
- 1.資料型別分類
- 2.數值型別
- 1.tinyint型別
- 2.bit型別
- 3.bool型別
- 4.smallint型別
- 5.int型別
- 6.bigint型別
- 3.小數型別
- 1.float型別
- 2.decimal型別
- 3.double型別
- 4.字串型別
- 1.char型別
- 2.vchar型別
- 3.char與vchar的比較
- 5.日期時間型別
- 6.enum型別
- 7.set型別
- 總結
前言
一、資料庫操作之備份、還原

備份:
mysqldump -P3306 -u root -p 密碼 -B 資料庫名 > 資料庫備份存盤的檔案路徑
eg:(退出連接)mysqldump -P3306 -u root -B mytest > ./mytest.sql
恢復:
source 路徑;
eg:source mytest.sql;
二、用戶管理

1.用戶資訊
MySQL中的用戶,都存盤在系統資料庫mysql的user表中,

- 欄位解釋:
- host:表示這個用戶可以從哪個主機登陸,如果是localhost,表示只能從本機登陸,
- user:用戶名,
- authentication_string:用戶密碼通過password函式加密后的,
- *_priv:用戶擁有的權限,
2.創建用戶

create user ‘用戶名’@‘登陸主機/ip’ identified by ‘密碼’;
3.洗掉用戶(慎用)
drop user ‘用戶名’@‘主機名’
4.修改用戶密碼
自己改自己密碼:
set password=password(‘新的密碼’);
root用戶修改指定用戶的密碼:
set password for ‘用戶名’@‘主機名’=password(‘新的密碼’);
set password for ‘litao’@‘localhost’=password(‘abcdefg’);
5.給用戶授權
剛創建的用戶沒有任何權限,需要給用戶授權,
grant 權限串列 on 庫.物件名 to ‘用戶名’@‘登陸位置’ [identified by ‘密碼’]
- 說明:
- 權限串列,多個權限用逗號分開,
- . : 代表本系統中的所有資料庫的所有物件(表,視圖,存盤程序等),
- 庫.* : 表示某個資料庫中的所有資料物件(表,視圖,存盤程序等),
- identified by可選, 如果用戶存在,賦予權限的同時修改密碼,如果該用戶不存在,就是創建用戶,
6.回收權限
revoke 權限串列 on 庫.物件名 from ‘用戶名’@‘登陸位置’;
三、navicat連接資料庫


四、資料庫表結構操作增、刪、查、改


在專案實際開發中,經常修改某個表的結構,比如欄位名字,欄位大小,欄位型別,表的字符集型別,表的存盤引擎等等,我們還有需求,添加欄位,洗掉欄位等等,這時我們就需要修改表,
1.增加表欄位
ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column datatype]…);
alter table user1 add age int before id;
2.洗掉表欄位
注意:洗掉欄位一定要小心,洗掉欄位及其對應的列資料都沒了,
alter table user1 drop info;
3.修改表名字
alter table user1 rename to user2;
4.修改表欄位屬性(type)
alter table user1 modify age char(10);
5.修改表中的欄位名稱(Field)
alter table user1 change age info char(20);

6.洗掉表(慎用)
drop table t1;
五、資料型別
1.資料型別分類

2.數值型別

1.tinyint型別

2.bit型別

bit[(M)] : 位欄位型別,M表示每個值的位數,范圍從1到64,如果M被忽略,默認為1,
3.bool型別

4.smallint型別

5.int型別

6.bigint型別

3.小數型別
1.float型別

float[(m, d)] [unsigned] : M指定顯示長度,d指定小數位數,占用空間4個位元組
2.decimal型別

3.double型別

4.字串型別
1.char型別

char(L): 固定長度字串,L是可以存盤的長度,單位為字符,最大長度值可以為255
char(2) 表示可以存放兩個字符,可以是字母或漢字,但是不能超過2個, 最多只能是255
2.vchar型別

varchar(L): 可變長度字串,L表示字符長度,最大長度65535個位元組,
- 關于varchar(len),len到底是多大,這個len值,和表的編碼密切相關:
- varchar長度可以指定為0到65535之間的值,但是有1 - 3 個位元組用于記錄資料大小,所以說有效位元組數是65532,
- 當我們的表的編碼是utf8時,varchar(n)的引數n最大值是65532/3=21844[因為utf中,一個字符占用3個位元組],如果編碼是gbk,varchar(n)的引數n最大是65532/2=32766(因為gbk中,一個字符占用2位元組),
3.char與vchar的比較

5.日期時間型別
- 常用的日期有如下三個:
- datetime 時間日期格式 ‘yyyy-mm-dd HH:ii:ss’ 表示范圍從1000到9999,占用八位元組,
- date:日期 ‘yyyy-mm-dd’,占用三位元組,
- timestamp:時間戳,從1970年1月1日0時0分0秒開始的 yyyy-mm-dd HH:ii:ss格式和datetime完全一致,占用四位元組,
6.enum型別
- 常用的日期有如下三個:
- enum:列舉,“單選”型別;,
- enum(‘選項1’,‘選項2’,‘選項3’,…);,
該設定只是提供了若干個選項的值,最終一個單元格中,實際只存盤了其中一個值;而且出于效率考慮,這些值實際存盤的是“數字”,因為這些選項的每個選項值依次對應如下數字:1,2,3,…最多65535個;當我們添加列舉值時,也可以添加對應的數字編號,


7.set型別

- 語法:
- set:集合,“多選”型別;;,
- enum(‘選項1’,‘選項2’,‘選項3’,…);,
該設定只是提供了若干個選項的值,最終一個單元格中,設計可存盤了其中任意多個值;而且出于效率考慮,這些值實際存盤的是“數字”,因為這些選項的每個選項值依次對應如下數字:1,2,4,8,16,32,… 最多64個,


總結
以上就是今天要講的內容,本文詳細介紹了資料庫表的增、刪、查、改的使用和后續資料庫表、資料型別,資料庫提供了大量的方法供我們使用,非常的便捷,我們務必掌握,希望大家多多支持!另外如果上述有任何問題,請懂哥指教,不過沒關系,主要是自己能堅持,更希望有一起學習的同學可以幫我指正,但是如果可以請溫柔一點跟我講,愛與和平是永遠的主題,愛各位了,加油啊!

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/297532.html
標籤:其他
上一篇:資料匯出/遷移(Sqoop技術)














