MySQL数据操作全攻略:DML增删改与DQL高级查询实战指南

知识点4【MySQL的DDL】

DDL:主要管理数据库、表、列等操作。

库→表(二维)→列(一维)

数据表的第一行是 列名称

数据库是由一张或多张表组成

我们先学习在数据库中创建数据表

0、常见的数据类型:

1、创建数据表

create table 表名(字段1 字段1的类型,字段2 字段2的类型,......)

字段名:列名称;

字段一的类型:列的属性

2、查看数据表

show tables;

3、查看表的字段信息

desc table_name;

4、插入新的列

这里我们以向stu表中添加addr列为例

alter table stu add addr text;

5、修改列的类型,并设置长度

alter table stu modify addr varchar (60);

这里补充一下 cast(age as char)表示显示临时转换,将age 的类型临时转换为字符串类型

6、删除表中的列

一次只能删除一列

alter table stu drop addr;

7、表名重命名

rename table stu to new_stu;

知识点5【MySQL的DML】

DML 是对表中的数据进行增,删,改的操作。

insert,update,delete

在sysql中,字符串类型和日期类型 都要用单引号括起来

为什么是单引号呢?我们在将数据库与C语言结合的时候会讲解

1、插入操作 insert into

语法:insert into 表名称 (列名称1,列名称2) values(列值1,列值2);

(列名称1,列名称2) 可以省略,省略的时候需要向每一列都插入数据

2、查询操作 select * from

语法:select * from 表名;

表示查看的是表中的所有列,如果换位num*,**name 就只会查询这两列的数据

注意 select from 不是DML操作 而是DQL操作,这里讲只是为了方便查看数据库插入结果

3、复制表操作

分为两个步骤 1、创建一张新表 2、复制表中的所有列 插入

注意:新表的列名称和列类型 与 旧表 保持一致,否则易出现数据错误

语法:create table stu(num int,name text,age int);

insert into stu select * from new_stu;

4、修改操作 update

update 表名 set 列明1=列值1,列明2=列值2 where 列明=值

5、删除操作 delete

delete from 表名 删除整个表

delete from 表名 where 列名=值;

知识点6【MySQL的DQL】

数据库执行DQL不会改变数据库中的数据 ,而是让数据库发送结果到客户端 。查询返回的结果集是一张虚拟表

数据库的DQL操作指令如下:

1、查询所有列

语法:select * from;

2、查询指定列

语法:select 列名1,列名2,... from 表名;

3、条件查询:where

条件查询就是在查询的时候 给出where的字句,在where字句中可以使用以下运算符和关键字

运算符有:=、!=、<>、<、<=、>、>=、between...and...、in()、is NULL、and、or、not、xor

<>这个是 最新格式的不等于

案例

**案例1:**查询名字为lucy,且年龄小于20的信息

**案例2:**查询学号为102,或者姓名为lisi的信息

**案例3:**查询学号为101,103,104的信息

4、模糊查询之通配符:like

当想要查找 名字中包含带a字母的行 的时候,就需要利用模糊查找。

模糊查找关键字:like

_:任意一个字符

%:任意多个字符 如'张%':以张开头的字符串

案例

案例1:查找名字为3个字母的学生信息;

案例2:查找以字母b开头的学生信息;

同时我们可以测一下以2结尾的;

5、模糊查询之正则表达式

MYSQL同样支持其他正则表达式的匹配,MySQL中使用REGEXP(regular expression)操作符来进行正则表达式的匹配。

我们来逐一用案例来说明他们的功能

案例

1、^ 匹配头部 以b开头;

2、$ 匹配结尾 以y结尾

3、. 匹配任意单个字符 找名字为b?b格式的学生

4、[...] 字符集合 查找名字中含有 lc 的学生

5、[^...] 负字符集合 查找名字中不包含 b r 的学生 注意这里的用法

6、p1|p2|p3 逻辑"或" 查找名字为 bob或lucy 的学生

7、* 匹配零次或多次 名字以b开头,包含o零次或多次的学生

8、+ 匹配一次或多次 名字以b开头,包含o一次以上的学生

9、{n} 匹配确定次数 名字以b开头,包含o两次的学生

10、{n,m} 匹配次数范围 名字以b开头,包含o 1-3次的学生

**11、**名字以b开头,包含o一次以上的学生。

注意:正则表达式 一般用来判断字符串

这里我来解释一下,^$的作用积极重要,如果这两个符号限制了字符串的长度

结束

代码重在练习!

代码重在练习!

代码重在练习!

今天的分享就到此结束了,希望对你有所帮助,如果你喜欢我的分享,请点赞收藏加关注,谢谢大家!!!

相关推荐
赵渝强老师2 分钟前
【赵渝强老师】Oracle RMAN的目录数据库
数据库·oracle
暖暖木头4 分钟前
Oracle注释详解
数据库·oracle
御控工业物联网21 分钟前
御控网关如何实现MQTT、MODBUS、OPCUA、SQL、HTTP之间协议转换
数据库·sql·http
GJCTYU2 小时前
spring中@Transactional注解和事务的实战理解附代码
数据库·spring boot·后端·spring·oracle·mybatis
MicroTech20252 小时前
微算法科技(NASDAQ: MLGO)探索Grover量子搜索算法,利用量子叠加和干涉原理,实现在无序数据库中快速定位目标信息的效果。
数据库·科技·算法
Code季风2 小时前
SQL关键字快速入门:CASE 实现条件逻辑
javascript·数据库·sql
weixin_478689762 小时前
操作系统【2】【内存管理】【虚拟内存】【参考小林code】
数据库·nosql
九皇叔叔3 小时前
【7】PostgreSQL 事务
数据库·postgresql
kk在加油3 小时前
Mysql锁机制与优化实践以及MVCC底层原理剖析
数据库·sql·mysql
合作小小程序员小小店3 小时前
web网页开发,在线%ctf管理%系统,基于html,css,webform,asp.net mvc, sqlserver, mysql
mysql·sqlserver·性能优化·asp.net·mvc