MySQL数据库基础篇之入门基础命令
创始人
2025-03-19 02:41:41
0次

 在日常工作与学习中,无论是开发、运维、还是测试,对于数据库的学习是不可避免的,同时也是日常工作的必备技术之一。在互联网公司,开源产品线比较多,互联网企业所用的数据库占比较重的还是MySQL。

在刚刚出炉的 2019 年3月份数据库流行度排行榜上,第一梯队的前三个数据库产品都获得了显著的加分增长。

其中 Oracle 上升了15.12分,MySQL上升了30.96分,SQL Server则上升了 7.79分。以下是前20位的数据库榜单:

所以,民工哥,将公众号所推送的MySQL数据库的文章,统一整理做成一个学习进阶的集合,在此分享给各位读者。各位读者朋友觉得文章对你在学习MySQL数据库的路上有所帮助,请动动小手转发分享出去。让更多的小伙伴们一起参与学习,大家共同成长,一起奔跑在技术的路上。

有需要加入民工哥组建的技术交流群的读者朋友们,可在公众号后台回复:「加群」

数据——公司的生命线,因此在大多数的互联网公司,都在使用开源的数据库产品,MySQL也因此关注度与使用率非常的高,所以做为运维的屌丝们,掌握它的一些基本操作还是必要的,那么今天就来侃一侃一些常用的基础命令,走过的、路过的,就不要再错过了,掌握的、没掌握的,也不要再扔民工哥鸡蛋了哦,呵呵.........

从此篇文章开始将要给大家带来另一个系列的文章:Mysql数据库系列,总共分为以下四个大类:

1、基础篇

2、中级篇

3、优化篇

4、企业架构篇

1、使用帮助信息

登陆数据库就不介绍了哦,比如说想做创建的数据库的操作,不知道命令,就可以查看帮助信息

 

  1. mysql> help create;  
  2. Many help items for your request exist.  
  3. To make a more specific request, please type 'help ',  
  4. where  is one of the following  
  5. topics:  
  6.    CREATE DATABASE   #最简单的创建命令  
  7.    CREATE EVENT  
  8.    CREATE FUNCTION  
  9.    CREATE FUNCTION UDF  
  10.    CREATE INDEX  
  11.    CREATE LOGFILE GROUP  
  12.    CREATE PROCEDURE  
  13.    CREATE SERVER  
  14.    CREATE TABLE  
  15.    CREATE TABLESPACE  
  16.    CREATE TRIGGER  
  17.    CREATE USER  
  18.    CREATE VIEW  
  19.    SHOW  
  20.    SHOW CREATE DATABASE  
  21.    SHOW CREATE EVENT  
  22.    SHOW CREATE FUNCTION  
  23.    SHOW CREATE PROCEDURE  
  24.    SHOW CREATE TABLE  
  25.    SPATIAL 

2、创建、删除、查看数据库

 

  1. mysql> create database test_data;  
  2. #创建默认字符集的数据库(默认是拉丁字符集)  
  3. Query OK, 1 row affected (0.02 sec)  
  4. mysql> show databases like "test%";  
  5. +------------------+  
  6. | Database (test%) |  
  7. +------------------+  
  8. | test_data        |  
  9. +------------------+  
  10. 1 rows in set (0.00 sec) 

创建gbk字符集的数据库

 

  1. mysql> create database test_gbk DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;  
  2. Query OK, 1 row affected (0.04 sec)  
  3. mysql> show create database test_gbk;   
  4. #查看创建数据库的语句  
  5. +----------+----------------------------------------------+  
  6. | Database | Create Database                              |  
  7. +----------+------------------------------------------------------------------+  
  8. | test_gbk | CREATE DATABASE `test_gbk` /*!40100 DEFAULT CHARACTER SET gbk */ |  
  9. +----------+----------------------------------------------+  
  10. 1 row in set (0.00 sec) 

删除数据库

 

  1. mysql> drop database test_data;  
  2. Query OK, 0 rows affected (0.07 sec)  
  3. mysql> show databases;  
  4. +----------------------------+  
  5. | Database                   |  
  6. +----------------------------+  
  7. | information_schema |  
  8. | test_gbk                    |  
  9. +----------------------------+ 

3、连接数据库

 

  1. mysql> use test_gbk;  
  2. #相当于cd命令,切换到数据库进行操作  
  3. Database changed  
  4. mysql> select database();  
  5. #查看当前连接的数据库,相当于pwd  
  6. +------------+  
  7. | database() |  
  8. +------------+  
  9. | test_gbk   |  
  10. +------------+  
  11. 1 row in set (0.00 sec)  
  12. mysql> select user();  
  13. #查看当前连接数据库的用户,相当于whoami  
  14. +--------------------+  
  15. | user()               |  
  16. +-------------------+  
  17. | root@localhost |  
  18. +--------------------+  
  19. 1 row in set (0.00 sec) 

4、创建用户、授权、收回权限

当数据库创建完成后,就需要创建用户,以供需要连接数据库的人员使用与操作数据库,不可能人人使用root登陆,所以权限设置也是很重要的

 

  1. mysql> grant all on test_gbk.* to 'testuser'@'localhost' identified by '123456';  
  2. #创建用户并all权限给在test_gbk库所有表,密码‘123456’  
  3. Query OK, 0 rows affected (0.00 sec)  
  4. mysql> flush privileges;  
  5. #刷新权限,使权限生效  
  6. Query OK, 0 rows affected (0.00 sec)  
  7. mysql> show grants for 'testuser'@'localhost';  
  8. #查看用户有哪些权限  
  9. +-----------------------------------------------------------------------------------------------------------------+  
  10. | Grants for testuser@localhost                           |  
  11. +-----------------------------------------------------------------------------------------------------------------+  
  12. | GRANT USAGE ON *.* TO 'testuser'@'localhost' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |  
  13. | GRANT ALL PRIVILEGES ON `test_gbk`.* TO 'testuser'@'localhost'                                  |  
  14. +-----------------------------------------------------------------------------------------------------------------+  
  15. 2 rows in set (0.00 sec) 

收回权限

 

  1. mysql> revoke insert,update,select,delete on test_gbk.* from 'testuser'@'localhost';  
  2. #将以上权限收回  
  3. Query OK, 0 rows affected (0.00 sec)  
  4. mysql> show grants for 'testuser'@'localhost';            
  5. +----------------------------------------------------------------------------------------------------+  
  6. | Grants for testuser@localhost                           |  
  7. +----------------------------------------------------------------------------------------------------+  
  8. | GRANT USAGE ON *.* TO 'testuser'@'localhost' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9'           |  
  9. | 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' | 
  10. +------------------------------------------------------------------------------------------------------------------------------+ 
  11. 2 rows in set (0.00 sec) 

注:原来不知道all权限到底是哪些权限,采用这种方法之后,应该就清楚了

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、创建、删除表

 

  1. mysql> create table test(id int(4)not null,name char(20)not null);  
  2. #建表,并且建立两个字段  
  3. Query OK, 0 rows affected (0.06 sec)  
  4. mysql> show tables;#查看表  
  5. +--------------------+  
  6. | Tables_in_test_gbk |  
  7. +--------------------+  
  8. | test                     |  
  9. +--------------------+  
  10. 1 row in set (0.00 sec)  
  11. mysql> desc test; #查看表结构  
  12. +-------+----------+------+-----+---------+-------+  
  13. | Field | Type     | Null | Key | Default | Extra |  
  14. +-------+----------+------+-----+---------+-------+  
  15. | id    | int(4)   | NO   |     | NULL    |       |  
  16. | name  | char(20) | NO   |     | NULL    |       |  
  17. +-------+----------+------+-----+---------+-------+  
  18. 2 rows in set (0.01 sec)  
  19. mysql> create table test1(id int(4)not null,name char(20)not null);  
  20. Query OK, 0 rows affected (0.01 sec)  
  21. mysql> show tables;  
  22. +------------------------+  
  23. | Tables_in_test_gbk |  
  24. +------------------------+  
  25. | test                        |  
  26. | test1                     |  
  27. +--------------------+  
  28. 2 rows in set (0.00 sec) 

删除表

 

  1. mysql> drop tables test;  
  2. Query OK, 0 rows affected (0.00 sec)  
  3. mysql> show tables;  
  4. +--------------------+  
  5. | Tables_in_test_gbk |  
  6. +--------------------+  
  7. | test1                 |  
  8. +--------------------+  
  9. 1 row in set (0.00 sec) 

查看建表

 

  1. mysql> show create table test1\G  
  2. *************************** 1. row ***************************  
  3.        Table: test1  
  4. Create Table: CREATE TABLE `test1` (  
  5.   `id` int(4) NOT NULL,  
  6.   `name` char(20) NOT NULL  
  7. ) ENGINE=MyISAM DEFAULT CHARSET=gbk  
  8. 1 row in set (0.00 sec) 

基础的操作命令就介绍这么多,都是一些常用的必备命令

关注 民工哥技术之路 微信公众号对话框回复关键字:1024 可以获取一份最新整理的技术干货:包括系统运维、数据库、redis、MogoDB、电子书、Java基础课程、Java实战项目、架构师综合教程、架构师实战项目、大数据、Docker容器、ELK Stack、机器学习、BAT面试精讲视频等。

 

 

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
只需三步,让你掌握阿尔法路由器... 请参照以下阿尔法路由器设置方法,通过浏览器进入及设置宽带路由器。经过这三个步骤的设置,基本上能够熟悉...
如何更省钱? 近期特价热门硒鼓... 如今激光打印设备已经成为商务或企业的绝对主力办公设备,但采购者往往忽视了激光打印设备所用的耗材,相对...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...