本文實例講述了MySQL數(shù)據(jù)庫入門基礎命令。分享給大家供大家參考,具體如下:
在日常工作與學習中,無論是開發(fā)、運維、還是測試,對于數(shù)據(jù)庫的學習是不可避免的,同時也是日常工作的必備技術(shù)之一。在互聯(lián)網(wǎng)公司,開源產(chǎn)品線比較多,互聯(lián)網(wǎng)企業(yè)所用的數(shù)據(jù)庫占比較重的還是MySQL。
在剛剛出爐的 2019 年3月份數(shù)據(jù)庫流行度排行榜上,第一梯隊的前三個數(shù)據(jù)庫產(chǎn)品都獲得了顯著的加分增長。
其中 Oracle 上升了15.12分,MySQL上升了30.96分,SQL Server則上升了 7.79分。以下是前20位的數(shù)據(jù)庫榜單:
所以,民工哥,將公眾號所推送的MySQL數(shù)據(jù)庫的文章,統(tǒng)一整理做成一個學習進階的集合,在此分享給各位讀者。各位讀者朋友覺得文章對你在學習MySQL數(shù)據(jù)庫的路上有所幫助,請動動小手轉(zhuǎn)發(fā)分享出去。讓更多的小伙伴們一起參與學習,大家共同成長,一起奔跑在技術(shù)的路上。
有需要加入民工哥組建的技術(shù)交流群的讀者朋友們,可在公眾號后臺回復:「加群」
數(shù)據(jù)——公司的生命線,因此在大多數(shù)的互聯(lián)網(wǎng)公司,都在使用開源的數(shù)據(jù)庫產(chǎn)品,MySQL也因此關(guān)注度與使用率非常的高,所以做為運維的屌絲們,掌握它的一些基本操作還是必要的,那么今天就來侃一侃一些常用的基礎命令,走過的、路過的,就不要再錯過了,掌握的、沒掌握的,也不要再扔民工哥雞蛋了哦,呵呵.........
從此篇文章開始將要給大家?guī)砹硪粋€系列的文章:Mysql數(shù)據(jù)庫系列,總共分為以下四個大類:
1、基礎篇
2、中級篇
3、優(yōu)化篇
4、企業(yè)架構(gòu)篇
登陸數(shù)據(jù)庫就不介紹了哦,比如說想做創(chuàng)建的數(shù)據(jù)庫的操作,不知道命令,就可以查看幫助信息
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 #最簡單的創(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
mysql> create database test_data; #創(chuàng)建默認字符集的數(shù)據(jù)庫(默認是拉丁字符集) 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ù)庫
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ù)庫的語句 +----------+----------------------------------------------+ | Database | Create Database | +----------+------------------------------------------------------------------+ | test_gbk | CREATE DATABASE `test_gbk` /*!40100 DEFAULT CHARACTER SET gbk */ | +----------+----------------------------------------------+ 1 row in set (0.00 sec)
刪除數(shù)據(jù)庫
mysql> drop database test_data; Query OK, 0 rows affected (0.07 sec) mysql> show databases; +----------------------------+ | Database | +----------------------------+ | information_schema | | test_gbk | +----------------------------+
mysql> use test_gbk; #相當于cd命令,切換到數(shù)據(jù)庫進行操作 Database changed mysql> select database(); #查看當前連接的數(shù)據(jù)庫,相當于pwd +------------+ | database() | +------------+ | test_gbk | +------------+ 1 row in set (0.00 sec) mysql> select user(); #查看當前連接數(shù)據(jù)庫的用戶,相當于whoami +--------------------+ | user() | +-------------------+ | root@localhost | +--------------------+ 1 row in set (0.00 sec)
當數(shù)據(jù)庫創(chuàng)建完成后,就需要創(chuàng)建用戶,以供需要連接數(shù)據(jù)庫的人員使用與操作數(shù)據(jù)庫,不可能人人使用root登陸,所以權(quán)限設置也是很重要的
mysql> grant all on test_gbk.* to 'testuser'@'localhost' identified by '123456'; #創(chuàng)建用戶并all權(quán)限給在test_gbk庫所有表,密碼‘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)限,采用這種方法之后,應該就清楚了
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
mysql> create table test(id int(4)not null,name char(20)not null); #建表,并且建立兩個字段 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)
基礎的操作命令就介紹這么多,都是一些常用的必備命令
更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務操作技巧匯總》、《MySQL存儲過程技巧大全》及《MySQL數(shù)據(jù)庫鎖相關(guān)技巧匯總》
希望本文所述對大家MySQL數(shù)據(jù)庫計有所幫助。