关闭防火墙等
linux时间校对
mysql8安装
配置信息 | 说明 |
---|---|
linux系统版本 | CentOS7.4 |
内核 | ml-3.10.0 |
mysql版本 | 8.0.33 |
mysql8安装
完成mysql8安装并登录数据库
创建数据表
mysql> CREATE DATABASE testdb;
进入指定数据库
mysql> use testdb;
Database changed
创建数据表
mysql> CREATE TABLE 第99小学 (
序号 INT NOT NULL AUTO_INCREMENT,
姓名 VARCHAR(50) NOT NULL,
年龄 INT NOT NULL,
性别 ENUM('男', '女') NOT NULL,
年级 VARCHAR(10) NOT NULL,
PRIMARY KEY (序号)
-> );
注:
查看数据库中有哪些表
mysql> SHOW TABLES;
+------------------+
| 第99小学 |
+------------------+
显示表结构
mysql> desc 第99小学;
+--------+-----------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+-----------------------+------+-----+---------+----------------+
| 序号 | int | NO | PRI | NULL | auto_increment |
| 姓名 | varchar(50) | NO | | NULL | |
| 年龄 | int | NO | | NULL | |
| 性别 | enum('男','女') | NO | | NULL | |
| 年级 | varchar(10) | NO | | NULL | |
+--------+-----------------------+------+-----+---------+----------------+
插入数据
mysql> INSERT INTO 第99小学 (姓名, 年龄, 性别, 年级) VALUES
('张三', 8, '男', '二年级'),
('李四', 9, '女', '三年级'),
('王五', 10, '男', '四年级'),
('赵六', 11, '女', '五年级');
验证数据是否插入成功
mysql> SELECT * FROM 第99小学;
+--------+--------+--------+--------+-----------+
| 序号 | 姓名 | 年龄 | 性别 | 年级 |
+--------+--------+--------+--------+-----------+
| 1 | 张三 | 8 | 男 | 二年级 |
| 2 | 李四 | 9 | 女 | 三年级 |
| 3 | 王五 | 10 | 男 | 四年级 |
| 4 | 赵六 | 11 | 女 | 五年级 |
+--------+--------+--------+--------+-----------+
在数据表中新增列
mysql> ALTER TABLE 第99小学
ADD COLUMN 备注信息 VARCHAR(100) ;
将新增的列删除
mysql> ALTER TABLE 第99小学 DROP COLUMN 备注信息;
Query OK, 0 rows affected (0.02 sec)
Records: 0 Duplicates: 0 Warnings: 0
验证
mysql> DESC 第99小学;
删除数据表中王五
mysql> DELETE FROM 第99小学 where 姓名 = "王五";
验证
mysql> SELECT * FROM 第99小学;
删除数据表
mysql> DROP TABLE 第99小学;
验证
mysql> DESC 第99小学;
mysql> ALTER TABLE 第99小学 rename 第9小学;
验证
mysql> SHOW TABLES;
mysql> ALTER TABLE 第9小学 RENAME COLUMN 年级 TO 几年级;
验证
mysql> SELECT * FROM 第9小学;
mysql> ALTER TABLE 第9小学 MODIFY COLUMN 姓名 VARCHAR(100);
验证
mysql> DESC 第99小学;
查看数据库版本
mysql> SELECT version();
查看数据库使用端口
mysql> show variables like 'port';
查询数据表中年龄大于10岁
mysql> SELECT * FROM 第9小学 WHERE 年龄 > 10;
+--------+--------+--------+--------+-----------+
| 序号 | 姓名 | 年龄 | 性别 | 年级 |
+--------+--------+--------+--------+-----------+
| 4 | 赵六 | 11 | 女 | 五年级 |
+--------+--------+--------+--------+-----------+
查询数据表中男女同学数量
mysql> SELECT 性别, COUNT(1)数量 FROM 第9小学 GROUP BY 性别;
+--------+--------+
| 性别 | 数量 |
+--------+--------+
| 男 | 2 |
| 女 | 2 |
+--------+--------+
2 rows in set (0.00 sec)
查询数据表中男女同学平均年龄
mysql> SELECT 性别, AVG(年龄) 平均年龄 FROM 第9小学 GROUP BY 性别;
+--------+--------------+
| 性别 | 平均年龄 |
+--------+--------------+
| 男 | 9.0000 |
| 女 | 10.0000 |
+--------+--------------+
2 rows in set (0.00 sec)
查询数据表,按照年龄降序排序,年纪升序排序(DESC降,ASC升)
mysql> SELECT * FROM 第9小学 ORDER BY 年龄 DESC, 几年级 ASC;
+--------+--------+--------+--------+-----------+
| 序号 | 姓名 | 年龄 | 性别 | 几年级 |
+--------+--------+--------+--------+-----------+
| 4 | 赵六 | 11 | 女 | 五年级 |
| 3 | 王五 | 10 | 男 | 四年级 |
| 2 | 李四 | 9 | 女 | 三年级 |
| 1 | 张三 | 8 | 男 | 二年级 |
+--------+--------+--------+--------+-----------+
查询数据表中含有王姓的同学
mysql> SELECT 序号, 姓名 FROM 第9小学 WHERE 姓名 LIKE '王%';
+--------+--------+
| 序号 | 姓名 |
+--------+--------+
| 3 | 王五 |
+--------+--------+
1 row in set (0.00 sec)
新建一个表
和上面99小学一样 改成中学
在操作mysql前,一定要记得备份数据!!
备份
登陆服务器,确认要备份的数据库
mysqldump -u root -p testdb 第9小学 > 06-22backup.sql
mysqldump -u root -p --databases testdb testdb2 testdb3 > 06-22backup.sql
还原
直接覆盖老数据,也可以在自建一个库还原查看
mysql -u root -p testdb < 06-22backup.sql
在进行MySQL数据还原时,需要注意以下事项:
安装mysql8失败,之前测试安装正常,本次安装时报错
源 "MySQL 8.0 Community Server" 的 GPG 密钥已安装,但是不适用于此软件包。请检查源的公钥 URL 是否配置正确。
失败的软件包是:mysql-community-common-8.0.33-1.el7.x86_64
GPG 密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
解决
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022