当前位置: 移动技术网 > IT编程>数据库>Mysql > MySQL数据库基础篇之入门基础命令小结

MySQL数据库基础篇之入门基础命令小结

2020年06月23日  | 移动技术网IT编程  | 我要评论

本文实例讲述了mysql数据库入门基础命令。分享给大家供大家参考,具体如下:

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

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

其中 oracle 上升了15.12分,mysql上升了30.96分,sql server则上升了 7.79分。以下是前20位的数据库榜单:

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

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

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

从此篇文章开始将要给大家带来另一个系列的文章:mysql数据库系列,总共分为以下四个大类:
1、基础篇
2、中级篇
3、优化篇
4、企业架构篇

1、使用帮助信息

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

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 #最简单的创建命令
 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、创建、删除、查看数据库

mysql> create database test_data;
#创建默认字符集的数据库(默认是拉丁字符集)
query ok, 1 row affected (0.02 sec)
mysql> show databases like "test%";
+------------------+
| database (test%) |
+------------------+
| test_data  |
+------------------+
1 rows in set (0.00 sec)

创建gbk字符集的数据库

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; 
#查看创建数据库的语句
+----------+----------------------------------------------+
| database | create database        |
+----------+------------------------------------------------------------------+
| test_gbk | create database `test_gbk` /*!40100 default character set gbk */ |
+----------+----------------------------------------------+
1 row in set (0.00 sec)

删除数据库

mysql> drop database test_data;
query ok, 0 rows affected (0.07 sec)
mysql> show databases;
+----------------------------+
| database     |
+----------------------------+
| information_schema |
| test_gbk     |
+----------------------------+

3、连接数据库

mysql> use test_gbk;
#相当于cd命令,切换到数据库进行操作
database changed
mysql> select database();
#查看当前连接的数据库,相当于pwd
+------------+
| database() |
+------------+
| test_gbk |
+------------+
1 row in set (0.00 sec)
mysql> select user();

#查看当前连接数据库的用户,相当于whoami
+--------------------+
| user()    |
+-------------------+
| root@localhost |
+--------------------+
1 row in set (0.00 sec)

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

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

mysql> grant all on test_gbk.* to 'testuser'@'localhost' identified by '123456';
#创建用户并all权限给在test_gbk库所有表,密码‘123456'
query ok, 0 rows affected (0.00 sec)
mysql> flush privileges;
#刷新权限,使权限生效
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 all privileges on `test_gbk`.* to 'testuser'@'localhost'         |
+-----------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

收回权限

mysql> revoke insert,update,select,delete on test_gbk.* from 'testuser'@'localhost';
#将以上权限收回
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权限到底是哪些权限,采用这种方法之后,应该就清楚了

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

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; #查看表结构
+-------+----------+------+-----+---------+-------+
| 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)

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

如对本文有疑问, 点击进行留言回复!!

相关文章:

  • MySQL InnoDB表空间加密示例详解

    前言从 mysql5.7.11开始,mysql对innodb支持存储在单独表空间中的表的数据加密 。此功能为物理表空间数据文件提供静态加密。该加密是在引擎内部数... [阅读全文]
  • 如何解决mysql无法关闭的问题

    如何解决mysql无法关闭的问题

    mysql关闭不了的解决办法:右键点击电脑的任务栏,打开任务管理器点击服务,找到mysql服务右键点击该服务,选择停止就可以了内容扩展:mac系统mysqld进... [阅读全文]
  • mysql不是内部命令的错误解决方案

    mysql不是内部命令的错误解决方案

    出现mysql不是内部命令的错误是因为没有把mysql的bin目录路径添加到环境变量中解决方法:打开电脑的环境变量,选择系统变量,打开path,将mysql的b... [阅读全文]
  • 关于MySQL主从复制的几种复制方式总结

    关于MySQL主从复制的几种复制方式总结

    异步复制mysql的复制默认是异步的,主从复制至少需要两个mysql服务,这些mysql服务可以分布在不同的服务器上,也可以在同一台服务器上。mysql主从异步... [阅读全文]
  • 详细分析MySQL主从复制

    详细分析MySQL主从复制

    前言:在mysql中,主从架构应该是最基础、最常用的一种架构了。后续的读写分离、多活高可用架构等大多都依赖于主从复制。主从复制也是我们学习mysql过程中必不可... [阅读全文]
  • MySQL单表恢复的步骤

    正休息的时候一个电话将我的睡意完全打散,“开发童鞋写update sql的时候忘了加where条件了”,相信每一个dba同学听到这个消息的时候都有骂街的冲动吧。... [阅读全文]
  • MySQL性能优化之如何高效正确的使用索引

    实践是检验真理的唯一途径,本篇只是站在索引使用的全局来定位的,你只需要通读全篇并结合具体的例子,或回忆以往使用过的地方,对整体有个全面认识,并理解索引是如何工作... [阅读全文]
  • MySQL如何优化查询速度

    前面章节我们介绍了如何选择优化的数据类型、如何高效的使用索引,这些对于高性能的mysql来说是必不可少的。 但这些还完全不够,还需要合理的设计查询。 如果查询写... [阅读全文]
  • MySQL优化SQL语句的技巧

    在面对不够优化、或者性能极差的sql语句时,我们通常的想法是将重构这个sql语句,让其查询的结果集和原来保持一样,并且希望sql性能得以提升。而在重构sql时,... [阅读全文]
  • 简述MySql四种事务隔离级别

    隔离级别:隔离性其实比想象的要复杂。 在sql标准中定义了四种隔离级别, 每一个事务中所做的修改,哪些在事务内和事务间是可见的,哪些是不可见的。较低级别的隔离通... [阅读全文]
验证码:
移动技术网