问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

MySQL基础:数据库的基本操作详解(增删改查 原理+代码+运行截图详解)

创作时间:
作者:
@小白创作中心

MySQL基础:数据库的基本操作详解(增删改查 原理+代码+运行截图详解)

引用
CSDN
1.
https://blog.csdn.net/linsc_05/article/details/136355655

MySQL是一种关系型数据库管理系统,广泛应用于各种Web应用和企业级应用中。本文将详细介绍MySQL数据库的基本操作,包括数据库和表的增删改查等核心功能。

一、如何使用系统运行窗口连接MySQL

在Windows系统中,可以通过以下步骤连接MySQL:

  1. 按下Win+R键,打开系统运行窗口。
  2. 输入cmd并回车,打开命令提示符。
  3. 在命令提示符中输入mysql -u root -p,其中root是默认的管理员用户名。
  4. 输入密码后,即可进入MySQL命令行界面。

二、数据库的基本操作

1. 显示当前的数据库

要查看当前系统中所有的数据库,可以使用以下SQL语句:

SHOW DATABASES;

注意:SQL语句必须以分号结尾!

2. 创建数据库

创建一个名为test1的数据库:

CREATE DATABASE test1;

3. 使用数据库

要选择并使用某个数据库,可以使用USE语句:

USE 数据库名;

4. 删除数据库

删除一个名为test1的数据库:

DROP DATABASE test1;

删除数据库时,该数据库中的所有表和数据都将被删除。

5. 显示当前数据库

要查看当前正在使用的数据库,可以使用以下SQL语句:

SELECT DATABASE();

长时间操作多个数据库时,使用这个命令可以避免误操作。

三、表的基本操作

在进行表操作之前,需要先选择要操作的数据库:

USE 数据库名;

1. 查看表结构

要查看某个表的结构,可以使用DESC语句:

DESC 表名;

2. 显示数据库中有哪些表

查看当前数据库中所有的表:

SHOW TABLES;

3. 创建表

创建一个名为table_name的表,包含三个字段:

CREATE TABLE table_name (
    field1 datatype,
    field2 datatype,
    field3 datatype
);

可以在字段定义中使用COMMENT来添加字段说明。

4. 删除表

删除一个名为table_name的表:

DROP TABLE table_name;

5. 插入数据

单行数据全插入

INSERT INTO table_name VALUES (数据,数据……);

多行数据指定列插入

INSERT INTO table_name (id, name) VALUES
(1, '张三'),
(2, '李四');

6. 查询数据

全列查询

SELECT * FROM table_name;

指定列查询

SELECT id, name FROM table_name;

查询时列的顺序可以与定义时不同。

查询的字段为表达式

  • 表达式不包含字段:

    SELECT id, 10 FROM table_name;
    
  • 表达式包含一个字段:

    SELECT id, id+10 FROM table_name;
    
  • 表达式包含多个字段:

    SELECT id, class, id + class FROM table_name;
    

别名查询

SELECT id, name 别名 FROM table_name;

去重查询:DISTINCT

假设表中数据如下:

—————其中 80 分重复了—————

去重查询:

SELECT DISTINCT english FROM table_name;

排序查询:ORDER BY

格式:

SELECT … FROM table_name ORDER BY … [ASC | DESC];
  • ASC:升序(从小到大)
  • DESC:降序(从大到小)
  • 默认为升序

注意:

  1. 没有ORDER BY子句的查询结果顺序是未定义的。
  2. NULL数据在排序中被视为最小值。
  3. 可以对多个字段进行排序,排序优先级按字段书写顺序。

条件查询:WHERE

比较运算符和逻辑运算符:

  • 比较运算符:>, <, >=, <=, =, !=
  • 逻辑运算符:AND, OR

注意:

  1. WHERE可以使用表达式,但不能使用别名。
  2. AND的优先级高于OR,需要时可以用括号改变执行顺序。

范例:

  1. 基本查询
  • 查询成年的同学的姓名(age >= 18)
  • 查询分数不及格的同学的信息(grade < 60)
  1. AND 与 OR
  • 查询未成年且不及格的同学的信息(age < 18 AND grade < 60)
  • 查询未成年或不及格的同学的信息(age < 18 OR grade < 60)
  1. BETWEEN … AND …
  • 查询分数在80-90的同学的信息([80,90])
  1. IN
  • 查询分数为80,90的同学的信息(80,90)
  1. 模糊查询:LIKE
  • %匹配任意多个任意字符:

    SELECT name FROM table_name WHERE name LIKE '张%';
    

    (张三、张二三、张都可以被匹配)

  • _匹配严格的一个任意字符:

    SELECT name FROM table_name WHERE name LIKE '张_';
    

    (只能匹配张三,不能匹配张二三、张)

  1. NULL的查询:IS (NULL | NOT) NULL
  • 查询名字为空的同学的信息:

    SELECT name FROM table_name WHERE name IS NULL;
    
  • 查询名字不为空的同学的信息:

    SELECT name FROM table_name WHERE name IS NOT NULL;
    

分页查询:LIMIT

语法:

  • 从0开始,筛选N条结果:

    SELECT … FROM table_name [WHERE …] [ORDER BY] LIMIT N;
    
  • 从X开始,筛选N条结果:

    SELECT … FROM table_name [WHERE …] [ORDER BY] LIMIT X , N;
    

    或者:

    SELECT … FROM table_name [WHERE …] [ORDER BY] LIMIT X OFFSET N;
    

注意:使用OFFSET的方式会更精确。

7. 修改表内容

修改表内容会直接修改硬盘上的数据,无法撤回,操作时要慎重!

语法:

UPDATE table_name SET 修改内容 [WHERE …] [ORDER BY …] [LIMIT …];

范例:

  1. 建立一张班级名称的表格
  2. 将网络工程的老师改为“林一”
  3. 将电气工程的id改为4000,老师改为“郭二”
  4. 将所有班级的id改为1010

注意:如果不加任何限制条件,默认会修改表中的所有数据。修改后的值不能超出原本定义的范围,否则会报错。

8. 删除表中的内容

语法:

DELETE FROM table_name [WHERE …] [ORDER BY…] [LIMIT …];

范例:

  1. 删除网络工程的信息
  2. 删除整张表

如果不加限制条件,就是删除表中的所有内容。所以操作需谨慎!

与DROP的区别:

  • DROP是删除整个表,表内数据和表结构都不存在了;
  • DELETE是删除表内的数据,表结构仍然存在。

以上就是MySQL数据库基本操作的全部内容,希望能对您有所帮助!

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号