【靈魂拷問】你真的懂得Mysql的管理和使用嗎?


file

作者 | Jeskson

來源 | 達達前端小酒館

MySQL管理,數據庫管理和數據表管理,用戶管理。

初始化數據庫,創建數據庫,查看數據庫,刪除數據庫。

創建數據表,查看數據表,修改數據表,刪除數據表。

用戶管理,創建與刪除用戶,授予與回收用戶權限,設置與更改用戶密碼。

數據庫管理

初始化數據庫

mysqld --initialize

啟動數據庫:

使用windows服務器管理界面啟動;或使用MySQL命令啟動。

mysql -u root -p

創建數據庫

CREATE DATABASE語句用於創建一個新的數據庫

CREATE DATABASE [db_name];
// 創建一個名為dada的數據庫
create database data;

數據庫創建好后,會在data目錄下自動生成一個名為data的目錄,該數據庫的數據會存儲於此目錄下,MySQL是一個數據庫管理系統,支持運行多個數據庫。

查看數據庫

SHOW DATABASES
show databases;

刪除數據庫

DROP DATABASE db_name;
drop database dada; // 刪除dada數據庫

刪除數據庫是一個不可逆的操作。

MySQL數據表管理

MySQL的每個數據庫就相當於一個容器,里面放着很多許多表,表中的每行包含一條具體的數據關系信息,為數據記錄。在data目錄下,每個數據庫對應一個目錄。

每個數據表對應3個文件,分別為".frm","myd",".myi"類型的文件。

創建數據表:

USE 數據庫名;
CREATE TABLE 表名(字段名 類型(長度),字段名 類型(長度));

查看數據表

SHOW語句和DESCRIBE語句

// 查看數據庫中有哪些表
SHOW TABLES;

// 此命令可以列出所有表名
show tables;

// DESCRIBE
DESCRIBE 庫名.表名;
使用DESCRIBE語句可以查看某一個表的具體結構,並查看組成表的各字段的信息
use mysql;
describe user;

使用describe語句可以查看表的各個字段名稱,類型,長度,是否非空,是否有主鍵,默認值以及備注等信息。

修改數據表

修改數據表使用ALTER語句來實現,alter,修改表,包括修改表的名,字段的名,字段類型等表結構。

修改表名

ALTER TABLE 舊表名 RENAME 新表名;
ALTER TABLE student RENAME student1;

修改字段名:

ALTER TABLE 表名 CHANGE 舊屬性名 新屬性名 新數據類型;
ALTER TABLE student1 CHANGE name s_name varchar(50);

修改字段類型

ALTER TABLE 表名 MODIFY 屬性名 數據類型;
ALTER TABLE student1 MODIFY name varchar(2);

增加字段:

ALTER TABLE 表名 ADD 屬性名 數據類型;
ALTER TABLE student1 ADD sex char(1)

刪除字段:

ALTER TABLE 表名 DROP 屬性名;
ALTER TABLE student1 DROP sex;

刪除數據表

USE 數據庫名;
DROP 表名;

使用DROP語句可以刪除數據庫中的表

DROP TABLE 數據庫名.表名;
USE test;
DROP TABLE student1;
DROP TABLE test.sudent1;

mysql用戶管理

創建與刪除用戶

創建用戶

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

username表名要創建的用戶名
host表示在哪個主機上可以登錄

CREATE USER 'test1'@'localhost' IDENTIFIED BY '123';
CREATE USER 'test2'@'192.123.2.2' IDENTIFIED BY '12';
CREATE USER 'test3'@'%' IDENTIFIED BY '';
// identified

用戶刪除

DROP USER 'username'@'host';

刪除用戶的語法與創建用戶的語法相同

DROP USER 'test1'@'localhost';

刪除本地主機數據庫用戶

授予與回收用戶權限

可以對用戶進行授權:

GRANT privileges ON dbname.tablename To 'username'@'host';

privileges表示要授予用戶的操作權限

dbname表示數據庫名

tablename表示數據表名

usernamehost分別表示用戶名和登錄主機

GRANT SELECT, INSERT ON mysql.test TO 'test1'@'%';

表示授權用戶test1在所有登錄主機均對mysql庫的test表擁有selectinsert權限。

GRANT ALL ON *.* TO 'test2'@'localhost';

如果要授予用戶對所有數據庫和表的相應操作權限,可用“*”表示,如“*.*”。

回收用戶權限

REVOKE privileges ON databasenamme,tablename FROM 'username'@'host';
REVOKE SELECT ON *.* FROM 'test2'@'localhost';

回收用戶test2在本地主機數據庫對所有庫的所有表的SELECT權限

設置與更改用戶密碼

SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');;

username為要設置或更改密碼的用戶名

host為用戶的登錄主機

newpassword為設置或更改的密碼

SET PASSWORD FOR 'test1'@'localhost' = PASSWORD('123');

file

❤️ 不要忘記留下你學習的腳印 [點贊 + 收藏 + 評論]

作者Info:

【作者】:Jeskson
【原創公眾號】:達達前端小酒館。
【福利】:公眾號回復 “資料” 送自學資料大禮包(進群分享,想要啥就說哈,看我有沒有)!
【轉載說明】:轉載請說明出處,謝謝合作!~

大前端開發,定位前端開發技術棧博客,PHP后台知識點,web全棧技術領域,數據結構與算法、網絡原理等通俗易懂的呈現給小伙伴。謝謝支持,承蒙厚愛!!!


若本號內容有做得不到位的地方(比如:涉及版權或其他問題),請及時聯系我們進行整改即可,會在第一時間進行處理。


請點贊!因為你們的贊同/鼓勵是我寫作的最大動力!

歡迎關注達達的CSDN!

這是一個有質量,有態度的博客

前端技術棧


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM