黄东旭关于基础软件产品价值的思考
603
2023-05-13
MySQL数据库基础篇之入门基础命令
在日常工作与学习中,无论是开发、运维、还是测试,对于数据库的学习是不可避免的,同时也是日常工作的必备技术之一。在互联网公司,开源产品线比较多,互联网企业所用的数据库占比较重的还是MySQL。
在刚刚出炉的 2019 年3月份数据库流行度排行榜上,第一梯队的前三个数据库产品都获得了显著的加分增长。
其中 *** 上升了15.12分,MySQL上升了30.96分,***则上升了 7.79分。以下是前20位的数据库榜单:
数据——公司的生命线,因此在大多数的互联网公司,都在使用开源的数据库产品,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
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)
基础的操作命令就介绍这么多,都是一些常用的必备命令
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。