欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > Linux数据库篇、第一章_02_MySQL的使用增删改查

Linux数据库篇、第一章_02_MySQL的使用增删改查

2025/5/15 21:38:25 来源:https://blog.csdn.net/AIYU_aiyu_/article/details/147893722  浏览:    关键词:Linux数据库篇、第一章_02_MySQL的使用增删改查

Linux_数据库篇

欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神!

题目:MySQL的使用增删改查

版本号: 1.0,0
作者: @老王要学习
日期: 2025.05.12
适用环境: Centos7

文档说明

本文档为《Linux 数据库篇 - MySQL 的使用增删改查》,版本 1.0.0,作者 @老王要学习,适用于 Centos7 环境。详细介绍了在 Linux 系统中使用 MySQL 进行数据库和表的创建、数据的插入、查询、修改及删除操作,包含操作步骤、代码示例与结果分析

环境准备

硬件要求

  • 服务器: 2核CPU、2GB内存,20GB硬盘空间
  • 网络: 确保服务器具有固定的IP地址,并且防火墙允许FTP端口(默认22端口)的通信

软件要求

  • 操作系统:Centos7
  • FTP软件:SecureCRT
  • 软件包:MySQL5.7.44

一、创建表(CREATE TABLE)

1.0进入数据库

#启动MySQL服务
/etc/init.d/mysqld start#进入MySQL数据库
mysql -uroot -p123

1.1创建数据库

CREATE DATABASE laowang;
#结果如下: 
Query OK, 1 row affected (0.00 sec)

1.2查看所以数据库

SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| laowang            |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

1.3进入laowang数据库

USE laowang
#输出如下: 
Database changed

1.4创建表

CREATE TABLE laowang (id INT PRIMARY KEY AUTO_INCREMENT,username VARCHAR(50) NOT NULL,email VARCHAR(100) UNIQUE,age INT,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
#结果如下: 
Query OK, 0 rows affected (0.00 sec)

1.5创建表结构分析

id

字段功能
INT类型为整数
PRIMARY KEY是主键
AUTO_INCREMENT自动递增

username

字段功能
VARCHAR(50)字符串类型,最大长度50
NOT NULL不能为空

email

字段功能
VARCHAR(100)字符串类型,最大长度100
UNIQUE必须唯一

age

字段功能
INT整数类型
可以为空(默认设置)

created_at

字段功能
TIMESTAMP时间戳类型
CURRENT_TIMESTAMP默认值为当前时间,即记录插入时自动设置为当前时间

1.6查看所有表

SHOW TABLES;
+-------------------+
| Tables_in_laowang |
+-------------------+
| laowang           |
+-------------------+
1 row in set (0.00 sec)

二、插入数据(INSERT)

2.1单条数据插入

INSERT INTO laowang (username, email, age)-> VALUES ('wang', 'wang@163.com', 26);
#输出如下: 
Query OK, 1 row affected (0.01 sec)

2.2多条数据插入

INSERT INTO laowang (username, email, age)-> VALUES-> ('zhang', 'zhang@163.com' ,28),-> ('li', 'li@163.com' ,36);
#输出如下: 
Query OK, 2 rows affected (0.00 sec)
Records: 2  Duplicates: 0  Warnings: 0

2.3插入数据分析

字段功能
INSERT INTO laowang在laowang表中添加数据
(username, email , age)(添加姓名,邮箱,年龄)
VALUES插入一行或者多行数据
(‘wang’, ‘wang@163.com’, 26);(姓名为wang,邮箱为wang@163.com,年龄为26)结束符

三、查询数据(SELECT)

3.1查询所有字段

SELECT * FROM laowang;
#结果如下: 
+----+----------+---------------+------+---------------------+
| id | username | email         | age  | created_at          |
+----+----------+---------------+------+---------------------+
|  1 | wang     | wang@163.com  |   26 | 2025-05-12 10:31:50 |
|  2 | zhang    | zhang@163.com |   28 | 2025-05-12 10:35:25 |
|  3 | li       | li@163.com    |   36 | 2025-05-12 10:35:25 |
+----+----------+---------------+------+---------------------+
3 rows in set (0.00 sec)

3.2查询指定字段

SELECT username, email FROM laowang;
#输出如下: 
+----------+---------------+
| username | email         |
+----------+---------------+
| wang     | wang@163.com  |
| zhang    | zhang@163.com |
| li       | li@163.com    |
+----------+---------------+
3 rows in set (0.00 sec)

3.3根据条件查询

#查看laowang表中,年龄大于26,且名字l开头的字段
SELECT * FROM laowang WHERE age > 26 AND username LIKE 'l%';
#输出如下: 
+----+----------+------------+------+---------------------+
| id | username | email      | age  | created_at          |
+----+----------+------------+------+---------------------+
|  3 | li       | li@163.com |   36 | 2025-05-12 10:35:25 |
+----+----------+------------+------+---------------------+
1 row in set (0.00 sec)

3.4排序与分页

#查询laowang表中按age降序排列后的第2-3条记录SELECT * FROM laowang ORDER BY age DESC LIMIT 2 OFFSET 1;
#输出如下: 
+----+----------+---------------+------+---------------------+
| id | username | email         | age  | created_at          |
+----+----------+---------------+------+---------------------+
|  2 | zhang    | zhang@163.com |   28 | 2025-05-12 10:35:25 |
|  1 | wang     | wang@163.com  |   26 | 2025-05-12 10:31:50 |
+----+----------+---------------+------+---------------------+
2 rows in set (0.00 sec)

3.5聚合函数

#计算laowang表中,年龄的平均大小
SELECT COUNT(*) AS users, AVG(age) AS age FROM laowang;
#输出如下: 
+-------+---------+
| users | age     |
+-------+---------+
|     3 | 30.0000 |
+-------+---------+
1 row in set (0.00 sec)

3.6查询数据分析

字段功能
WHERE过滤条件
AND连接符
LIKE ‘l%’索引匹配前缀’l’
ORDER BY排序
DESC降序
LIMIT 2返回2条记录
OFFSET 1跳过前面1条记录,从第2条记录开始
COUNT(*)统计laowang表的总行数
AVG(age)计算所有用户的平均年龄
AS别名

四、修改数据(UPDATE)

4.1修改单条数据

#修改laowang表中,id=1记录的email和age字段
UPDATE laowang-> SET email = 'laowang@163.com', age =28-> WHERE id = 1;
#输出如下: 
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

4.2修改多条数据

UPDATE laowang-> SET age = age + 1-> WHERE age <30;
#输出如下: 
Query OK, 3 rows affected (0.00 sec)

4.3查询表变化

SELECT * FROM laowang;
#输出如下: 
+----+----------+-----------------+------+---------------------+
| id | username | email           | age  | created_at          |
+----+----------+-----------------+------+---------------------+
|  1 | wang     | laowang@163.com |   30 | 2025-05-12 10:31:50 |
|  2 | zhang    | zhang@163.com   |   30 | 2025-05-12 10:35:25 |
|  3 | li       | li@163.com      |   37 | 2025-05-12 10:35:25 |
+----+----------+-----------------+------+---------------------+
3 rows in set (0.00 sec)

4.4修改数据分析

字段功能
UPDATE修改表
SET email修改email字段
WHERE id = 1匹配id为1
SET age = age + 1age字段自增1
WHERE age <30匹配age小于30

五、删除数据(DELETE)

5.1删除单条记录

DELETE FROM laowang WHERE id = 2;
#输出如下: 
Query OK, 1 row affected (0.00 sec)#结果如下: 
SELECT * FROM laowang;
+----+----------+-----------------+------+---------------------+
| id | username | email           | age  | created_at          |
+----+----------+-----------------+------+---------------------+
|  1 | wang     | laowang@163.com |   30 | 2025-05-12 10:31:50 |
|  3 | li       | li@163.com      |   37 | 2025-05-12 10:35:25 |
+----+----------+-----------------+------+---------------------+
2 rows in set (0.00 sec)

5.2条件删除

#删除年龄大于30的条件
DELETE FROM laowang WHERE age > 30;
#输出如下: 
Query OK, 1 row affected (0.00 sec)#结果如下: 
SELECT * FROM laowang;
+----+----------+-----------------+------+---------------------+
| id | username | email           | age  | created_at          |
+----+----------+-----------------+------+---------------------+
|  1 | wang     | laowang@163.com |   30 | 2025-05-12 10:31:50 |
+----+----------+-----------------+------+---------------------+
1 row in set (0.00 sec)

5.3清空表(保留表结构)

DELETE FROM laowang;
#输出如下: 
Query OK, 1 row affected (0.00 sec)#结果如下: 
SELECT * FROM laowang;
Empty set (0.00 sec)

5.4删除表结构(数据与定义全部删除)

DROP TABLE laowang;
#输出如下: 
Query OK, 0 rows affected (0.00 sec)#结果如下: 
mysql> SELECT * FROM laowang;
ERROR 1146 (42S02): Table 'laowang.laowang' doesn't exist

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词