MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 Web 应用方面,MySQL 是最好的 RDBMS (Relational Database Management System,关系型数据库管理系统) 应用软件之一。
MySQL 拥有体积小、速度快、性能高、使用简单等优点,同时 MySQL 开放源代码,使其具有使用门槛低的特点。
另外也被业界所称的软件组合 " LAMP " ,其中 Linux 作为操作系统,Apache 作为Web 服务器,MySQL 作为数据库,PHP 作为服务端脚本解释器,由于它们都是免费或开源软件,可以使用这种方式免费搭建一个稳定的网站系统。
文章目录
一、MySQL 的安装与配置;
传送门:https://blog.csdn.net/qq_46921028/article/details/115038642
二、MySQL 图形化管理工具;
Navicat
SQLyog
DataGrip
三、MySQL 管理;
1、MySQL 数据库管理;
1.1、创建数据库;
CREATE DATABASE 数据库名 ;
在数据库创建好后,MySQL 的 data 目录下会自动生成一个与数据库同名的目录,然后数据库中的数据会存储在这个目录下;
MySQL 是一个数据库管理系统,支持运行多个数据库,因此,我们可以创建多个数据库。
1.2、查看数据库;
查看MySQL中有哪些数据库,语法格式如下:
SHOW DATABASE;
1.3、删除数据库;
DROP DATABASE 数据库名;
注意:删库是一个不可逆的操作,一定要确认其内部所有数据均可删除,要慎重执行此命令。
2、MySQL 数据表管理;
2.1、创建数据表;
USE 数据库名;
CREATE TABLE 表名(字段名 类型(长度),字段名 类型(长度));
创建数据表语句要明确数据表的结构、字段名称、类型及长度等信息。
2.2、查看数据表;
查看数据库中有那些表:
SHOW TABLES;
查看表结构:
DESCRIBE 库名.表名;
使用 DESCRIBE
语句可以查看表的字段名称、类型、长度、是否非空、是否有主键、默认值以及备注等信息。
2.3、修改数据表;
2.3.1、修改表名;
ALTER TABLE 旧表名 RENAME 新表名;
2.3.2、修改字段名;
ALTER TABLE 表名 CHANGE 旧属性名 新属性名 新数据类型;
2.3.3、修改字段类型;
ALTER TABLE 表名 MODIFY 属性名 数据类型;
2.3.4、增加字段;
ALTER TABLE 表名 ADD 属性名 数据类型;
2.3.5、删除字段;
ALTER TABLE 表名 DROP 属性名;
2.4、删除数据表;
DROP 表名;
2.5、用户管理;
2.5.1、创建用户;
CREATE USER 'username'@'host' IDENTIFIED BY 'password'
其中 username
表示要创建的用户名,host
指定该用户在哪个主机上可以登录,如果该用户是本地用户 则可以使用 localhost
,如果想让该用户从任意远程主机登录,则可以是使用通配符 %,password
表示该用户的登录密码,密码可以为空,如果密码为空,则该用户可以不需要密码登录服务器;
(1) 在本地主机数据库创建用户 test1,密码为123456;
CREATE USER 'test1'@'localhost' IDENTIFIED BY '123456';
(2) 在 ip为192.168.1.2 的数据库创建用户 test2,密码为123456;
CREATE USER 'test2'@'192.168.1.2' IDENTIFIED BY '123456';
(3) 创建用户test3,可以远程无密登录;
CREATE USER 'test3'@'%' IDENTIFIED BY '';
(4)刷新权限;
flush privileges;
2.5.2、显示所有用户;
(1) 查询用户表;
SELECT User, Host FROM mysql.user;
在Mysql中其实有一个内置名为 mysql 的数据库,这个数据库中存储的是MySQL 的一些数据,比如用户、权限信息、存储过程等,我们可以通过 SELECT
语句查询一些信息;
(2) 显示所有的用户(不重复);
SELECT DISTINCT User FROM mysql.user;
2.5.3、删除用户;
DROP USER 'username'@'host';
到这里可以看到,名为 test1 的用户已被删掉!
2.5.4、授权与收回用户权限;
(1)授权用户权限;
使用 GRANT
语句可以对用户进行授权,语法格式如下:
GRANT privileges ON dbname.tablename TO 'username'@'host';
privileges
表示要授予用户的操作权限,如: SELECT、INSERT、UPDATE等操作,如果要授予用户所有的权限则使用ALL
即可;dbname
表示数据库名;tablename
表示数据表名,如果要授予用户对所有数据库和表的相应操作权限,则可用*
表示,如:*.*
;username
和host
分别表示 用户名 和 登录主机 ;
例1: 授权用户 test1
在所有登录主机均对 mysql_study库test表
拥有SELECT、INSERT
权限;
GRANT SELECT,INSERT ON mysql_study.test TO 'test1'@'%';
例2:授权用户 test2
在 本地主机数据库
的 所有库所有表
拥有所有权限);
GRANT ALL ON *.* TO 'test2'@'localhost';
(2)回收用户权限;
使用REVOKE
语句可以对权限进行回收,语法与授权用户权限相同:
REVOKE privileges ON dbname.tablename FROM 'username'@'host';
例如:回收用户test2
在本地主机数据库对所有库的所有表的SELECT权限;
REVOKE SELECT ON *.* FROM 'test2'@'localhost';
2.5.5、设置与更改用户密码;
若在创建用户时未指定密码,或者由于某些原因修改密码,可以使用MySQL提供的密码设置与更改语句,语法格式如下:
SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
username
表示要设置或更改密码的用户;host
指定该用户的登录主机;
例如:把本地主机数据库 用户 test1 的密码修改为 helloworld;
SET PASSWORD FOR 'test1'@'localhost' = PASSWORD('helloworld');
四、SQL 基本语法;
五、索引、分区与视图;
本文转自 https://www.cnblogs.com/m987/p/14720466.html,如有侵权,请联系删除。