知识点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、[...] 字符集合 查找名字中含有 l或c 的学生

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一次以上的学生。
注意:正则表达式 一般用来判断字符串

这里我来解释一下,^$的作用积极重要,如果这两个符号限制了字符串的长度。
结束
代码重在练习!
代码重在练习!
代码重在练习!
今天的分享就到此结束了,希望对你有所帮助,如果你喜欢我的分享,请点赞收藏加关注,谢谢大家!!!