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

file

做者 | Jeskson前端

來源 | 達達前端小酒館mysql

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

初始化數據庫,建立數據庫,查看數據庫,刪除數據庫。算法

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

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

數據庫管理

初始化數據庫windows

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!

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

前端技術棧

相關文章
相關標籤/搜索