目錄
- 1、使用幫助信息
- 2、創(chuàng)建、刪除、查看數(shù)據(jù)庫(kù)
- 3、連接數(shù)據(jù)庫(kù)
- 4、創(chuàng)建用戶、授權(quán)、收回權(quán)限
- 5、創(chuàng)建、刪除表
本文實(shí)例講述了MySQL數(shù)據(jù)庫(kù)入門基礎(chǔ)命令。分享給大家供大家參考,具體如下:
在日常工作與學(xué)習(xí)中,無(wú)論是開(kāi)發(fā)、運(yùn)維、還是測(cè)試,對(duì)于數(shù)據(jù)庫(kù)的學(xué)習(xí)是不可避免的,同時(shí)也是日常工作的必備技術(shù)之一。在互聯(lián)網(wǎng)公司,開(kāi)源產(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)階的集合,在此分享給各位讀者。各位讀者朋友覺(jué)得文章對(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)公司,都在使用開(kāi)源的數(shù)據(jù)庫(kù)產(chǎn)品,MySQL也因此關(guān)注度與使用率非常的高,所以做為運(yùn)維的屌絲們,掌握它的一些基本操作還是必要的,那么今天就來(lái)侃一侃一些常用的基礎(chǔ)命令,走過(guò)的、路過(guò)的,就不要再錯(cuò)過(guò)了,掌握的、沒(méi)掌握的,也不要再扔民工哥雞蛋了哦,呵呵.........
從此篇文章開(kāi)始將要給大家?guī)?lái)另一個(gè)系列的文章:Mysql數(shù)據(jù)庫(kù)系列,總共分為以下四個(gè)大類:
1、基礎(chǔ)篇
2、中級(jí)篇
3、優(yōu)化篇
4、企業(yè)架構(gòu)篇
1、使用幫助信息
登陸數(shù)據(jù)庫(kù)就不介紹了哦,比如說(shuō)想做創(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ù)的語(yǔ)句
+----------+----------------------------------------------+
| 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)
注:原來(lái)不知道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)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲(chǔ)過(guò)程技巧大全》及《MySQL數(shù)據(jù)庫(kù)鎖相關(guān)技巧匯總》
希望本文所述對(duì)大家MySQL數(shù)據(jù)庫(kù)計(jì)有所幫助。
您可能感興趣的文章:- MySQL數(shù)據(jù)庫(kù)基礎(chǔ)入門之常用命令小結(jié)
- MySQL數(shù)據(jù)庫(kù)入門之備份數(shù)據(jù)庫(kù)操作詳解
- MySQL數(shù)據(jù)庫(kù)入門之多實(shí)例配置方法詳解
- 詳解MySQL從入門到放棄-安裝
- mysql入門之1小時(shí)學(xué)會(huì)MySQL基礎(chǔ)
- 20分鐘MySQL基礎(chǔ)入門
- 三十分鐘MySQL快速入門(圖解)
- Mysql基礎(chǔ)入門 輕松學(xué)習(xí)Mysql命令
- 21分鐘 MySQL 入門教程
- mysql常用sql與命令之從入門到刪庫(kù)跑路