MySQL数据库进阶实战
MySQL数据库快速部署实践
更新YUM源
rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
安装MySQL
yum -y install mysql-community-server --nogpgcheck
执行完成后,使用命令mysql -V查看是否安装成功
启动MySQL服务
systemctl start mysqld
设置MySQL服务开机自动启动
systemctl enable mysqld
配置MySQL的root用户密码
查看初始化密码
grep 'temporary password' /var/log/mysqld.log
登录root用户
mysql -uroot -p
输入上面查到的密码登录MySQL
修改root用户的密码
set global validate_password_policy=0; #修改密码安全策略为低(只校验密码长度,至少8位)。 ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678';
赋予root用户远程管理权限(这个操作可以允许当前帐号通过工具连接数据库操作,非常好用~)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '12345678';
退出数据库
exit
基础命令练习
使用shell命令登录mysql:mysql -uroot -p12345678
create database test; #创建test数据库 show databases; #查看当前数据库列表 use mysql; #连接到mysql数据库 show tables; #查看当前数据库下的表
使用exit返回至shell界面,将test数据库备份到当前目录
mysqldump -uroot -p test >test.sql
输入密码后等待备份完成,使用ll查看备份文件
我们还可以将备份文件导入到数据库中(-D,指定导入的数据库为test)
mysql -uroot -p -Dtest<test.sql
常用SQL(记得每一条语句要带分号;)
use test; create table test1 (id int,name char(20));#创建test1表格,包含id,name字段 insert into test1 values(1,"zhangsan");#插入一条数据 #新增语法:INSERT INTO 表名称 VALUES (值1, 值2,....); select * from test1;#查询表数据 update test1 set name = "lisi" where id =1;#更改表数据 #更新语法:UPDATE 表名称 SET 列名 = 值 WHERE 表名称 = 值; delete from test1 where id =1;#删除数据 #删除语法:DELETE FROM 表名称 WHERE 列名称 = 值; drop table test1;#删除表 drop database test;#删除数据库
数据库基础(MySQL)
新增
INSERT INTO USER
(col_name1, col_name2, col_name3, col_name4)#指定新增某些字段
VALUES
('VALUE1', 2, 'VALUE3', 1),
('VALUES2', 3, 'VALUES4', 4);#自增值可以不填写
INSERT INTO USER #不标注插入的哪些字段,后面的值就必须和表设计的排序、字段数量保持一直
VALUES
('VALUE1', 2, 'VALUE3', 1),
('VALUES2', 3, 'VALUES4', 4);
查询
SELECT col_name,...
FROM table_name
WHERE where_condition
GROUP BY col_name,...
HAVING where_condition
ORDER BY col_name,...
LIMIT offset,row_count
更新
UPDATE table_name SET col_name=expr,... WHERE where_condition
删除
DELETE FROM table_name WHERE where_condition
SELECT a.sid,
a.score,
s.sname
FROM
(SELECT sid, score FROM sc WHERE cid= "102") a,
(SELECT sid, score FROM sc WHERE cid= "101") b,student as s
WHERE a.score > b.score
AND a.sid= b.sid
AND s.sid= a.sid