MySQL笔记
提示:MySQL中不区分大小写,因此下面内容中涉及MySQL语句的大小写均可。
MySQL安装
-
到官网下载MySQL最新版本
选择ZIP Archive版本即可。 -
下载完后,将 zip 包解压到想要安装的目录,这里我将解压后的文件夹放在D:\Programs\Tools\DataBase\MySQL下。解压后文件列表如下:
-
配置下 MySQL 的配置文件my.ini,若没有,自己创建一个即可。文件内容如下:
[client] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] # 设置3306端口 port = 3306 # 设置mysql的安装目录 # basedir=C:\\web\\mysql-8.0.11 basedir=D:\\Programs\\Tools\\DataBase\\MySQL # 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错 # datadir=C:\\web\\sqldata datadir=E:\\DataBase\\MySQL # 允许最大连接数 max_connections=20 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB
其中#为注释,根据自己情况设置basedir与datadir两个即可。
-
管理员方式打开cmd命令行程序。切换目录到MySQL安装目录。
-
初始化数据库:
mysqld --initialize --console
完成之后输出root用户的初始默认密码:
... 2018-04-20T02:35:05.464644Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: APWCY5ws&hjQ ...
APWCY5ws&hjQ 就是初始密码,后续登录需要用到,你也可以在登陆后修改密码。
-
安装
mysqld install
-
启动服务
mysql -u root -p
输入初始密码即可。
-
设置环境变量。将MySQL安装路径下的bin文件夹(例如我是D:\Programs\Tools\DataBase\MySQL\bin)添加到环境变量PATH中。
-
修改root密码:
-
启动服务(注意以管理员身份运行CMD)
net start mysql
-
登录root账户
mysql -u root -p
输入初始密码登录
-
输入:
alter user 'root'@'localhost' identified by 'password';
例如:
-
MySQL管理
-
启动
net start mysql
-
关闭
net stop mysql
-
添加用户
-
启动服务(注意以管理员身份运行CMD)
-
登录root账户
-
添加用户
create user '新用户名'@'localhost' identified by '密码';
eg:
-
授权
//基本格式如下 grant all privileges on 数据库名.表名 to '新用户名'@'指定ip' identified by '新用户密码' ; //示例 //允许访问所有数据库下的所有表 grant all privileges on *.* to '新用户名'@'指定ip' identified by '新用户密码' ; //指定数据库下的指定表 grant all privileges on test.test to '新用户名'@'指定ip' identified by '新用户密码' ;
//设置用户拥有所有权限也就是管理员 grant all privileges on *.* to '新用户名'@'指定ip' identified by '新用户密码' WITH GRANT OPTION; //拥有查询权限 grant select on *.* to '新用户名'@'指定ip' identified by '新用户密码' WITH GRANT OPTION; //其它操作权限说明,select查询 insert插入 delete删除 update修改 //设置用户拥有查询插入的权限 grant select,insert on *.* to '新用户名'@'指定ip' identified by '新用户密码' WITH GRANT OPTION; //取消用户查询的查询权限 REVOKE select ON what FROM '新用户名';
此处摘自https://www.cnblogs.com/zhangjianqiang/p/10019809.html
注:
with grant option
表示授予新用户的权限新用户也可以授予其它账户。 -
刷新权限
FLUSH PRIVILEGES;
-
SQL语句
准备工作
对SQL语句的学习以菜鸟教程为主。
方便起见,安装了Navicat Premium 15管理数据库。打开该软件之后,界面如下:
添加MySQL连接:
点击连接-》MySQL打开以下界面,填入信息,确定即可。
双击新建的MySQL连接即可连接我们的MySQL数据库(连接之后变绿,可以展开),展开可以看到下面管辖的数据库。
接下来对SQL语句的学习以菜鸟教程为主,为此先新建一个RUNOOB数据库,并导入该网站给出的三个数据库,步骤如下:
-
右击MySQL,新建数据库,打开如下界面,填入信息,确定即可:
-
双击激活runoob(激活后变绿并自动展开),右击,运行SQL文件,打开以下界面,并选择下载的websites.sql文件,点击开始即可。
-
完成之后稍等片刻,刷新即可看到RUNOOB数据库下面的表内出现了websites表。
-
依照上述步骤依次添加apps.sql与access_log.sql文件即可。最终结果如下:
SQL语句学习
-
启动服务(注意以管理员账户打开CMD)
-
登录root账户
-
选择数据库与字符集(注意MySQL语句以分号结束!不区分大小写!)
SELECT
用于从数据库中筛选数据,一般语法为
select column,column,... from table
eg:
select name,country from websites;
select * from websites;
在数据库中,*
表示所有数据。
SELECT DISTINCT
用于获取不同值。如上面的表中,虽然有五条记录,但是对于country这一列来说只有两个值。
select distinct country from websites;
一般的select语句获取的结果为:
之后的与菜鸟教程类似,不再赘述。