MySQL数据库入门——经常使用基础命令

MySQL数据库入门———经常使用基础命令
mysql



   数据——公司的生命线,所以在大多数的互联网公司,都在使用开源的数据库产品,MySQL也所以关注度与使用率很是的高,因此作为运维的屌丝们,掌握它的一些基本操做仍是必要的。sql


一、使用帮助信息数据库


   登录数据库就不介绍了哦
运维

   好比说想作建立的数据库的操做,不知道命令,就能够查看帮助信息ide


mysql> help create;
spa

Many help items for your request exist.orm

To make a more specific request, please type 'help <item>',ci

where <item> is one of the following产品

topics:it

   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




二、建立、删除、查看数据库

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                    |

+----------------------------+




三、链接数据库

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)




四、建立用户、受权、收回权限


当数据库建立完成后,就须要建立用户,以供须要链接数据库的人员使用与操做数据库,不可能人人使用root登录,因此权限设置也是很重要的


mysql> grant all on test_gbk.* to 'testuser'@'localhost' identified by '123456';     #建立用户testuser,并将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




五、建立、删除表

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)


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

相关文章
相关标签/搜索