MySQL數(shù)據(jù)庫(kù)基礎(chǔ)篇之入門基礎(chǔ)命令
在日常工作與學(xué)習(xí)中,無論是開發(fā)、運(yùn)維、還是測(cè)試,對(duì)于數(shù)據(jù)庫(kù)的學(xué)習(xí)是不可避免的,同時(shí)也是日常工作的必備技術(shù)之一。在互聯(lián)網(wǎng)公司,開源產(chǎn)品線比較多,互聯(lián)網(wǎng)企業(yè)所用的數(shù)據(jù)庫(kù)占比較重的還是MySQL。
在剛剛出爐的 2019 年3月份數(shù)據(jù)庫(kù)流行度排行榜上,第一梯隊(duì)的前三個(gè)數(shù)據(jù)庫(kù)產(chǎn)品都獲得了顯著的加分增長(zhǎng)。
其中 Oracle 上升了15.12分,MySQL上升了30.96分,SQL Server則上升了 7.79分。以下是前20位的數(shù)據(jù)庫(kù)榜單:
所以,民工哥,將公眾號(hào)所推送的MySQL數(shù)據(jù)庫(kù)的文章,統(tǒng)一整理做成一個(gè)學(xué)習(xí)進(jìn)階的集合,在此分享給各位讀者。各位讀者朋友覺得文章對(duì)你在學(xué)習(xí)MySQL數(shù)據(jù)庫(kù)的路上有所幫助,請(qǐng)動(dòng)動(dòng)小手轉(zhuǎn)發(fā)分享出去。讓更多的小伙伴們一起參與學(xué)習(xí),大家共同成長(zhǎng),一起奔跑在技術(shù)的路上。
有需要加入民工哥組建的技術(shù)交流群的讀者朋友們,可在公眾號(hào)后臺(tái)回復(fù):「加群」
數(shù)據(jù)——公司的生命線,因此在大多數(shù)的互聯(lián)網(wǎng)公司,都在使用開源的數(shù)據(jù)庫(kù)產(chǎn)品,MySQL也因此關(guān)注度與使用率非常的高,所以做為運(yùn)維的屌絲們,掌握它的一些基本操作還是必要的,那么今天就來侃一侃一些常用的基礎(chǔ)命令,走過的、路過的,就不要再錯(cuò)過了,掌握的、沒掌握的,也不要再扔民工哥雞蛋了哦,呵呵.........
從此篇文章開始將要給大家?guī)砹硪粋€(gè)系列的文章:Mysql數(shù)據(jù)庫(kù)系列,總共分為以下四個(gè)大類:
1、基礎(chǔ)篇
2、中級(jí)篇
3、優(yōu)化篇
4、企業(yè)架構(gòu)篇
1、使用幫助信息
登陸數(shù)據(jù)庫(kù)就不介紹了哦,比如說想做創(chuàng)建的數(shù)據(jù)庫(kù)的操作,不知道命令,就可以查看幫助信息
- mysql> help create;
- Many help items for your request exist.
- To make a more specific request, please type 'help <item>',
- where <item> is one of the following
- topics:
- CREATE DATABASE #最簡(jiǎn)單的創(chuàng)建命令
- CREATE EVENT
- CREATE FUNCTION
- CREATE FUNCTION UDF
- CREATE INDEX
- CREATE LOGFILE GROUP
- CREATE PROCEDURE
- CREATE SERVER
- CREATE TABLE
- CREATE TABLESPACE
- CREATE TRIGGER
- CREATE USER
- CREATE VIEW
- SHOW
- SHOW CREATE DATABASE
- SHOW CREATE EVENT
- SHOW CREATE FUNCTION
- SHOW CREATE PROCEDURE
- SHOW CREATE TABLE
- SPATIAL
2、創(chuàng)建、刪除、查看數(shù)據(jù)庫(kù)
- mysql> create database test_data;
- #創(chuàng)建默認(rèn)字符集的數(shù)據(jù)庫(kù)(默認(rèn)是拉丁字符集)
- Query OK, 1 row affected (0.02 sec)
- mysql> show databases like "test%";
- +------------------+
- | Database (test%) |
- +------------------+
- | test_data |
- +------------------+
- 1 rows in set (0.00 sec)
創(chuàng)建gbk字符集的數(shù)據(jù)庫(kù)
- mysql> create database test_gbk DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
- Query OK, 1 row affected (0.04 sec)
- mysql> show create database test_gbk;
- #查看創(chuàng)建數(shù)據(jù)庫(kù)的語句
- +----------+----------------------------------------------+
- | Database | Create Database |
- +----------+------------------------------------------------------------------+
- | test_gbk | CREATE DATABASE `test_gbk` /*!40100 DEFAULT CHARACTER SET gbk */ |
- +----------+----------------------------------------------+
- 1 row in set (0.00 sec)
刪除數(shù)據(jù)庫(kù)
- mysql> drop database test_data;
- Query OK, 0 rows affected (0.07 sec)
- mysql> show databases;
- +----------------------------+
- | Database |
- +----------------------------+
- | information_schema |
- | test_gbk |
- +----------------------------+
3、連接數(shù)據(jù)庫(kù)
- mysql> use test_gbk;
- #相當(dāng)于cd命令,切換到數(shù)據(jù)庫(kù)進(jìn)行操作
- Database changed
- mysql> select database();
- #查看當(dāng)前連接的數(shù)據(jù)庫(kù),相當(dāng)于pwd
- +------------+
- | database() |
- +------------+
- | test_gbk |
- +------------+
- 1 row in set (0.00 sec)
- mysql> select user();
- #查看當(dāng)前連接數(shù)據(jù)庫(kù)的用戶,相當(dāng)于whoami
- +--------------------+
- | user() |
- +-------------------+
- | root@localhost |
- +--------------------+
- 1 row in set (0.00 sec)
4、創(chuàng)建用戶、授權(quán)、收回權(quán)限
當(dāng)數(shù)據(jù)庫(kù)創(chuàng)建完成后,就需要?jiǎng)?chuàng)建用戶,以供需要連接數(shù)據(jù)庫(kù)的人員使用與操作數(shù)據(jù)庫(kù),不可能人人使用root登陸,所以權(quán)限設(shè)置也是很重要的
- mysql> grant all on test_gbk.* to 'testuser'@'localhost' identified by '123456';
- #創(chuàng)建用戶并all權(quán)限給在test_gbk庫(kù)所有表,密碼‘123456’
- Query OK, 0 rows affected (0.00 sec)
- mysql> flush privileges;
- #刷新權(quán)限,使權(quán)限生效
- Query OK, 0 rows affected (0.00 sec)
- mysql> show grants for 'testuser'@'localhost';
- #查看用戶有哪些權(quán)限
- +-----------------------------------------------------------------------------------------------------------------+
- | Grants for testuser@localhost |
- +-----------------------------------------------------------------------------------------------------------------+
- | GRANT USAGE ON *.* TO 'testuser'@'localhost' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |
- | GRANT ALL PRIVILEGES ON `test_gbk`.* TO 'testuser'@'localhost' |
- +-----------------------------------------------------------------------------------------------------------------+
- 2 rows in set (0.00 sec)
收回權(quán)限
- mysql> revoke insert,update,select,delete on test_gbk.* from 'testuser'@'localhost';
- #將以上權(quán)限收回
- Query OK, 0 rows affected (0.00 sec)
- mysql> show grants for 'testuser'@'localhost';
- +----------------------------------------------------------------------------------------------------+
- | Grants for testuser@localhost |
- +----------------------------------------------------------------------------------------------------+
- | GRANT USAGE ON *.* TO 'testuser'@'localhost' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |
- | GRANT CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `test_gbk`.* TO 'testuser'@'localhost' |
- +------------------------------------------------------------------------------------------------------------------------------+
- 2 rows in set (0.00 sec)
注:原來不知道all權(quán)限到底是哪些權(quán)限,采用這種方法之后,應(yīng)該就清楚了
SELECT,INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER
5、創(chuàng)建、刪除表
- mysql> create table test(id int(4)not null,name char(20)not null);
- #建表,并且建立兩個(gè)字段
- Query OK, 0 rows affected (0.06 sec)
- mysql> show tables;#查看表
- +--------------------+
- | Tables_in_test_gbk |
- +--------------------+
- | test |
- +--------------------+
- 1 row in set (0.00 sec)
- mysql> desc test; #查看表結(jié)構(gòu)
- +-------+----------+------+-----+---------+-------+
- | Field | Type | Null | Key | Default | Extra |
- +-------+----------+------+-----+---------+-------+
- | id | int(4) | NO | | NULL | |
- | name | char(20) | NO | | NULL | |
- +-------+----------+------+-----+---------+-------+
- 2 rows in set (0.01 sec)
- mysql> create table test1(id int(4)not null,name char(20)not null);
- Query OK, 0 rows affected (0.01 sec)
- mysql> show tables;
- +------------------------+
- | Tables_in_test_gbk |
- +------------------------+
- | test |
- | test1 |
- +--------------------+
- 2 rows in set (0.00 sec)
刪除表
- mysql> drop tables test;
- Query OK, 0 rows affected (0.00 sec)
- mysql> show tables;
- +--------------------+
- | Tables_in_test_gbk |
- +--------------------+
- | test1 |
- +--------------------+
- 1 row in set (0.00 sec)
查看建表
- mysql> show create table test1\G
- *************************** 1. row ***************************
- Table: test1
- Create Table: CREATE TABLE `test1` (
- `id` int(4) NOT NULL,
- `name` char(20) NOT NULL
- ) ENGINE=MyISAM DEFAULT CHARSET=gbk
- 1 row in set (0.00 sec)
基礎(chǔ)的操作命令就介紹這么多,都是一些常用的必備命令
關(guān)注 民工哥技術(shù)之路 微信公眾號(hào)對(duì)話框回復(fù)關(guān)鍵字:1024 可以獲取一份最新整理的技術(shù)干貨:包括系統(tǒng)運(yùn)維、數(shù)據(jù)庫(kù)、redis、MogoDB、電子書、Java基礎(chǔ)課程、Java實(shí)戰(zhàn)項(xiàng)目、架構(gòu)師綜合教程、架構(gòu)師實(shí)戰(zhàn)項(xiàng)目、大數(shù)據(jù)、Docker容器、ELK Stack、機(jī)器學(xué)習(xí)、BAT面試精講視頻等。