[TOC]
MySQL安装配置及基本操作
之前做过几个项目都用过 MySQL,使用体验不错,但容易忘记一些基本配置流程和命令,这里简单记录一下在 CentOS 7 下的安装配置及一些基本操作。
安装配置
1. CentOS 7 安装 MySQL5.7
如果要安装在 root 用户下,请使用 sudo。
$ yum install mysql-community-server
2. 启动 MySQL 服务
MySQL 默认监听到 3306 端口。
systemctl start mysqld
3. 查看启动状态
systemctl status mysqld
4. 修改 root 密码
这个很重要,否则无法接入数据库。如果是第一次安装,那么 MySQL 会在 /var/log/mysqld.log 中生成一个默认的随机密码。
- 首先,找到这个初始密码。输入以下命令,可以将该初始密码输出到终端,当然直接打开文件去查找也是可以的。
$ grep 'temporary password' /var/log/mysqld.log # 请确保文件路径正确
- 然后,使用这个初始密码登录 MySQL。输入以下命令后会提示你输入 root 用户的密码,将刚刚拿到的初始密码输入即可进入支持 sql 的 shell。
$ mysql -u root -p
- 最后修改 root 用户密码。注意是在 MySQL 的 shell 中进行修改。在该 shell 中一切语句都要以分号结尾。
> ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewPassword';
到这里配置就结束了,以后便可以使用新的密码登录 MySQL 的 root 用户了。
基本操作
1. 登录及修改密码
参照上文
2. 查看所有数据库
> show databases;
3. 创建数据库
> create database yourdatabase;
4. 进入某个数据库
> use yourdatabase;
5. 查看数据库中的所有表
> show tables;
6. 创建表
> create table yourtable;
7. 删除表
DROP table yourtable;
8. 删除数据库
DROP database yourdatabase;
以下是一些基本的 sql 语法。如果对 sql 不熟悉,可以参照 https://www.runoob.com/mysql/mysql-tutorial.html
9. 查询表
这里记录一下常用的。
- 查询表中所有记录。
> SELECT * FROM yourtable;
- 查询表中某列的所有记录。
> SELECT column1 FROM yourtable;
- 查询表中列名为 column2 的值为 ‘xxx’ 的所有记录。
> SELECT * FROM yourtable WHERE column2='xxx';
- 查询表中列名为 column3 和 列名为 column5 的 column4 这一列的值为 ‘xxx’ 的所有记录。
> SELECT column3, column5 FROM yourtable WHERE column4='xxx';
10. 插入数据
INSERT INTO yourtable (column1, column2, ..., columnN) VALUES (value1, value2, ..., valueN)
11. 更新表
- 更新所有记录的某个字段(列)。
> UPDATE yourtable SET column2='xxx';
- 更新某些特定字段。
> UPDATE yourtable SET column2='xxx' WHERE column5='yyy';
- 更复杂一些的更新。
> UPDATE yourtable SET column2='xxx1', column3='xxx2' WHERE column5='yyy1' AND column4='yyy2' OR column6='yyy3';
12. 简单的字段排序
- 升序。
SELECT column1 FROM yourtable ORDER BY column2 ASC;
- 降序
SELECT column1 FROM yourtable ORDER BY column4 DESC;
13. 简单的分组
- 计数。
SELECT column1, COUNT(*) FROM yourtable GROUP BY column1;
- 求和。
SELECT column1, SUM(column4) as newcolumn FROM yourtable GROUP BY column2 WITH ROLLUP;
- 去平均。
SELECT column1, AVG(column4) as newcolumn FROM yourtable GROUP BY column2 WITH ROLLUP;
更多的统计函数还有取最大值、最小值等。