之前自學了數據庫基礎的部分,拿出來分享一下。
首先說明本人用的是MySQL8.0.17的版本,8版本和之前的版本有些地方可能不太一樣;
如果MySQL不會安裝的可以參考菜鳥教程的安裝方法;
mysql語法裏的大小寫是一樣的沒有特別規定,同時需要注意的是在MySQL裏輸入語法後要輸入 ; 的,直接回車無法執行,
首先來了解一下MySQL的大體結構
數據庫的連接,退出,創建,刪除
連接數據庫
-u : 指定登陸MySQL的用戶 root最大權限的用戶
-p : 顯示密碼登陸
mysql -u root -p
退出數據庫
exit
創建數據庫
create database 數據庫名;
刪除數據庫
drop database 數據庫名;
mysql5.7以上有的有密碼策略(mysql只能設置複雜密碼,弱密碼無法設置),可進行調整
查詢當前密碼策略信息
show variables like 'validate_password%';
密碼政策設置低
set global validate_password_policy=0;
密碼位數隨意6位
set global validate_password_length=6;
用戶的查看,創建,分權,查權,使用,改密,刪除
查看mysql裏的所有用戶
select user from mysql.user;
創建用戶
本機電腦的MySQL,Host設置localhost就行(最好使用這個本地)
create user '用戶名'@'localhost' identified by '密碼';
服務器安裝的MySQL,需要遠程外連Host設置 %
create user '用戶名'@'%' identified by '密碼';
給普通用戶分配權限
grant all : ☞全部權限,此處可以指定某些權限;
數據庫名.* : ☞數據庫下的所有表,此處可以指定表;
grant all on 數據庫名.* to '用戶名';
查看用戶權限
show grants for '用戶名';
創建了普通用戶分權後就可以用了
mysql -u 用戶名 -p
由於版本過高有的圖形化界面連接會提示caching-sha2-password密碼策略問題,修改加密規則
alter user 用戶名 identified by 'password' password expire never;
修改用戶密碼
alter user 用戶名 identified with mysql_native_password by '改後密碼';
刷新權限
flush privileges;
刪除用戶兩種方法
drop user 用戶名;
delete from user where user='用戶名'
進入數據庫後先指定數據庫
use 數據庫名;
查看所有的數據庫(此處注意用戶,root能看所有的數據庫,普通的只能查看授權的數據庫)
show databases;
查看數據庫下的表(使用此語法的注意先用use指定數據庫)
show tables;
創建表結構;
if not exists : ☞判斷數據庫中是否有此表(有無此語法都可以);
id,name,age : ☞表字段名;
int,varchar(4) : ☞數據類型(字節);
auto_increment : ☞自增;
not null : ☞此處數值不能爲null;
default : ☞默認數值;
comment : ☞描述;
primary key(id) : 設置id爲鍵(唯一的);
語法注意;
實例中以 , 來分割表字段名與表字段名之間的參數;
直到看到 ; 纔是結束,
create table if not exists 表名(
id int auto_increment,
name varchar(4) not null comment '姓名',
age int(4) default '年齡不祥' comment '姓名',
primary key(id)
);
查看錶結構
desc 表名;
查看錶結構語法
show create table 表名\G