网站树状型结构优化商城平台网站开发深圳
web/
2025/9/30 7:25:45/
文章来源:
网站树状型结构优化,商城平台网站开发深圳,seo咨询服务,网站软件资源一、简单查询
1.1 数据的备份还原 导出#xff1a;先对数据库进行备份#xff0c;然后提取备份文件中的sql语句导入#xff1a; 方法一#xff1a;创建和原始数据同名的数据#xff0c;然后执行从备份文件中导出的sql语句【此方法不要修改sql语句】方法二#xff1a;在数…一、简单查询
1.1 数据的备份还原 导出先对数据库进行备份然后提取备份文件中的sql语句导入 方法一创建和原始数据同名的数据然后执行从备份文件中导出的sql语句【此方法不要修改sql语句】方法二在数据库中直接运行导出的sql语句【此方法往往需要先修改数据库文件】 1.2 简单查询
MySQL的查询操作 单表查询也就是从一个表中找数据也叫做 简单查询多表查询联合多个表查询数据也叫做 链接查询 1.2.1 查询的格式 select 查询的内容 from 表名 where 条件 where后面的条件的写法 大于 大于等于 小于 小于等于 不等于 ! 不等于 between...and... 判断范围 is null 是空 is not null 不是空 like 模糊查询 in 判断某个字段是否在给定的集合中 1.2.2 通配符% 表示 任意多个任意字符可以表示0个、1个或者是多个任意字符 案例查看students表 1、age大于20 select * from students where age20 2、age 20-30 select * from students where age between 20 and 30 3、name是空 select * from students name is null 4、name包含q select * from students where name like %q% 5、age 是3 或5 或7 select * from students where age in (3,5,7) 1.2.3 排序查询格式 select 查询内容 from 表名 where 条件 order by 字段名 案例 1、将所有学生按照年龄排序 select * from students order by age 2、将所有学生按照年龄排序并且是升序 select * from students order by age asc 3、将所有学生安装年龄排序并且是降序 select * from students order by age desc 4、显示所有学生信息按照年龄和班级id排序升序显示 select * from students order by age,classid asc 1.2.4 指定输出几条记录 默认输出所有符合条件的记录limit 数字 格式select 查询内容 from 表名 where 条件 order by 字段名 limit 数字 1.2.5 聚合函数 sum() 求和avg() 求平均值max() 求最大值min() 求最小值count() 统计记录条数 案例 1、计算所有学生的年龄和 select sum(avg) from students 1.2.6 去重去除重复的字段 关键字distinct 案例 1、将年龄小于50的用户安装年龄排序并且去除重复的字段 select distinct age from students where age50 order by age 1.2.7 分组 group by 字段 分组后加条件 having 完整的查询格式 select * from 表名 where 条件 order by 字段 limit 数字 group by 字段 having 条件 二、查询进阶
2.1 链接查询 将两张或者多张表联合起来进行查询这就是链接查询【join】链接查询又分为 交叉链接 表中的每一行分别和其他表的每一行组成一个新的行新表的行数是两个表的行数相乘列数是两个表的列数相加自然连接 将多个表中符合条件进行链接外连接 左外连接右外链接 2.2 交叉链接的结果
得到笛卡尔积表这个表中有大量的无用数据 select * from 表1表2 笛卡尔积表行数是两个表的行数相乘列数是两个表的列数相加 2.3 自然链接的结果
在交叉链接的基础上通过加条件可以得到自然链接 select * from 表1,表2 wheere 表1.字段表2.字段 2.4 字段别名
给字段取一个新的名字显示结果中字段名会直接用新的名字显示出来 select 字段名 as 新名字 from 表名 2.5 表别名 select 字段 from 表名 as 新名 2.6 使用自然链接存在的问题
会导致数据丢失解决方法用左外链接、右外链接 左表前面的右表后面的
2.7 左外链接
显示结果以左表为准也就是说左表中的数据会全部出现右表中的数据有就显示没有就显示为空 select * from 左表 left join 右表 on 条件 2.8 右外链接
显示结果以右表为准右表中的数据会全部出现左表中的数据有就显示没有就显示为空 select * from 左表 right join 右表 on 条件 三、外键约束
外键约束是数据库中用于维护数据完整性的一种重要机制。 作用 维护两个表之间的关联关系确保数据的一致性和完整性。 概念 主键是用于在一个表中唯一标识一个字段外键外键是另外一个表的主键通过使用外键可以将两个表关联起来 表与表之间的关系的类型 一对一一对多多对多 案例
# 创建表tb2
create table tb2(
classid int primary key, # 第一个字段是classid是主键
name char(30) # 第二个字段是name
)# 创建表tb1
create table tb1(
id int primary key, # 第一个字段是id是主键
name char(30), # 第二个字段是name
classid int, # 第三个字段是classid是整数
foreign key(classid) references tb2(classid); # 将classid这个字段转换成外键指向表tb2的classid这个字段
这个外键约束可以确保在插入或更新tb1表中的数据时classid字段的值必须在tb2表的classid字段中存在。这样可以保证数据的一致性和完整性避免出现无效的外键值。
四、视图 视图view 视图可以认为是一张表这个表是存在内存中的虚表断电就会消失 作用 通过视图可以让用户只能访问数据库中的一部分数据给用户授权 格式 create view 视图名 as select 语句 案例给用户user3进行授权让用户只可以访问id小于5的数据
# 第一步创建视图视图中包含的是id小于5的数据
create view v1 as select * from students where stuid5;# 第二步查看当前系统中的表会发现多一个叫做v1的表这个表其实就是视图
show tables# 第三步给用户user3授权让user3仅仅可以访问视图中的数据
# 授权的格式grant 权限 on 库名.表名 to 用户名主机 identified by 密码;
grant all on hellodb.v1 to user3localhost identfied by 123;# 刷新授权表
flush privileges
五、事务
简介 将多个sql语句组合成一个整体这个整体就是一个事务事务中的所有语句要么都执行要么都不执行事务中的语句如果只有部分执行成功那么就需要将这个事务进行回滚操作 回滚将数据恢复到执行操作之前的状态通过使用事务可以保证数据的一致性 事务的操作 提交事务回滚事务 提交事务 让事务中多个语句真正的生效如果使用了事务那么在事务提交之前其他用户是看不到事务中的操作的 回滚事务 恢复到执行语句之前的状态 操作的命令格式 begin 启动事务 commit 提交事务提交之后事务自动结束 rollback 回滚事务回滚之后事务自动结束 注意
一般情况下在MySQL客户端中每个sql语句都是一个单独的事务而且事务会自动提交但是在后期的python中需要手动去提交/回滚事务的
六、扩展命令
6.1 union 作用将两个sql语句执行结果连接起来一起显示 格式【sql语句1】 union 【sql语句2】 6.2 concat 拼接 作用将两个字段输出到一块 格式select concat(字段名,字段名) from 表名 6.3 length 返回长度 作用返回查询结果长度 格式select length(字段名) from 表名 6.4 group_concat拼接字符串 作用输出到一行 格式select group_concat(字段名,拼接的字符) from 表名
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/84331.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!