
Mysql
文章平均质量分 58
MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一
缘 源 园
https://mp.weixin.qq.com/s/EtndbQk9m9n75xiQsDcvww 欢迎关注博主微信公众号。一起交流互动更多问题。
展开
-
utf-8在电脑上依然乱码解决方法
show variables like '%char%'; 查询当前MySQL数据库编码show full columns from 表名;set names gbk 使用这个指令cmd 是gbk编码 mysql是utf8 编码导致的问题 window10系统原创 2021-04-01 00:29:43 · 1099 阅读 · 0 评论 -
MySQL的索引详解
1. 索引的介绍索引在MySQL中也叫做“键”,它是一个特殊的文件,它保存着数据表里所有记录的位置信息,更通俗的来说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。应用场景:当数据库中数据量很大时,查找数据会变得很慢,我们就可以通过索引来提高数据库的查询效率。2. 索引的使用查看表中已有索引:show index from 表名;说明:主键列会自动创建索引索引的创建:-- 创建索引的语法格式-- alter table 表名 add index.原创 2021-04-01 00:29:23 · 90 阅读 · 0 评论 -
外键SQL语句的编写
1. 外键约束作用外键约束:对外键字段的值进行更新和插入时会和引用表中字段的数据进行验证,数据如果不合法则更新和插入会失败,保证数据的有效性。2. 对于已经存在的字段添加外键约束-- 为cls_id字段添加外键约束alter table students add foreign key(cls_id) references classes(id);3. 在创建数据表时设置外键约束-- 创建学校表create table school( id int not ..原创 2021-04-01 00:29:08 · 1040 阅读 · 0 评论 -
远程登陆mysql
第一步:查看是否被注释 不注释的话会绑定127.0.0.1第二步:mysql -u root -p 密码:mysqlshow databases;use mysql;show tables;select * from user;select * from user\G;把localhost修改成百分号update user set host = '%' where user = 'root';...原创 2021-04-01 00:28:41 · 91 阅读 · 0 评论 -
Mysql中SQL事务
1. 事务的介绍事务就是用户定义的一系列执行SQL语句的操作, 这些操作要么完全地执行,要么完全地都不执行, 它是一个不可分割的工作执行单元。事务的使用场景:在日常生活中,有时我们需要进行银行转账,这个银行转账操作背后就是需要执行多个SQL语句,假如这些SQL执行到一半突然停电了,那么就会导致这个功能只完成了一半,这种情况是不允许出现,要想解决这个问题就需要通过事务来完成。2. 事务的四大特性原子性(Atomicity) 一致性(Consistency) 隔离性(Isolati.原创 2021-04-01 00:28:07 · 465 阅读 · 0 评论 -
PyMySQL的使用
思考如何实现将100000条数据插入到MySQL数据库?答案:如果使用之前学习的MySQL客户端来完成这个操作,那么这个工作量无疑是巨大的,我们可以通过使用程序代码的方式去连接MySQL数据库,然后对MySQL数据库进行增删改查的方式,实现10000条数据的插入,像这样使用代码的方式操作数据库就称为数据库编程。Python程序操作MySQL数据库安装pymysql第三方包:sudo pip3 install pymysql说明:安装命令使用 sudo pip3 in.原创 2021-03-28 00:06:06 · 171 阅读 · 0 评论 -
插入,更新,创建,修改表的数据
1. 思考目前只有一个goods表,我们想要增加一个商品分类信息,比如:移动设备这个分类信息,只通过goods表无法完成商品分类的添加,那么如何实现添加商品分类信息的操作?答案:创建一个商品分类表,把goods表中的商品分类信息添加到该表中。 将goods表中的分类名称更改成商品分类表中对应的分类id2. 创建商品分类表-- 创建商品分类表create table good_cates( id int not null primary key auto_incremen.原创 2021-03-28 00:04:41 · 847 阅读 · 1 评论 -
分组和聚合函数的组合使用实操
1. 数据准备-- 创建 "京东" 数据库create database jing_dong charset=utf8;-- 使用 "京东" 数据库use jing_dong;-- 创建一个商品goods数据表create table goods( id int unsigned primary key auto_increment not null, name varchar(150) not null, cate_name varchar(40) not nu原创 2021-03-28 00:04:18 · 201 阅读 · 0 评论 -
数据库设计之三范式
1. 数据库设计之三范式的介绍范式: 对设计数据库提出的一些规范,目前有迹可寻的共有8种范式,一般遵守3范式即可。第一范式(1NF): 强调的是列的原子性,即列不能够再分成其他几列。 第二范式(2NF): 满足 1NF,另外包含两部分内容,一是表必须有一个主键;二是非主键字段 必须完全依赖于主键,而不能只依赖于主键的一部分。 第三范式(3NF): 满足 2NF,另外非主键列必须直接依赖于主键,不能存在传递依赖。即不能存在:非主键列 A 依赖于非主键列 B,非主键列 B 依赖于主键的情况。.原创 2021-03-28 00:03:44 · 215 阅读 · 0 评论 -
子查询
1. 子查询的介绍在一个 select 语句中,嵌入了另外一个 select 语句, 那么被嵌入的 select 语句称之为子查询语句,外部那个select语句则称为主查询.主查询和子查询的关系:子查询是嵌入到主查询中 子查询是辅助主查询的,要么充当条件,要么充当数据源 子查询是可以独立存在的语句,是一条完整的 select 语句2. 子查询的使用例1. 查询大于平均年龄的学生:select * from students where age > (select av.原创 2021-03-28 00:03:03 · 175 阅读 · 0 评论 -
连接查询-自连接
1. 自连接查询左表和右表是同一个表,根据连接查询条件查询两个表中的数据。区域表效果图例1:查询省的名称为“山西省”的所有城市创建areas表:create table areas( id varchar(30) not null primary key, title varchar(30), pid varchar(30));执行sql文件给areas表导入数据:source areas.sql;说明:sourc..原创 2021-03-28 00:02:51 · 1626 阅读 · 0 评论 -
连接查询-右连接
1. 右连接查询以右表为主根据条件查询左表数据,如果根据条件查询左表数据不存在使用null值填充右连接查询效果图:右连接查询语法格式:select 字段 from 表1 right join 表2 on 表1.字段1 = 表2.字段2说明:right join 就是右连接查询关键字 on 就是连接查询条件 表1 是左表 表2 是右表例1:使用右连接查询学生表与班级表:select * from students as s right join classe.原创 2021-03-28 00:02:08 · 1292 阅读 · 0 评论 -
连接查询-左连接
1. 左连接查询以左表为主根据条件查询右表数据,如果根据条件查询右表数据不存在使用null值填充左连接查询效果图:左连接查询语法格式:select 字段 from 表1 left join 表2 on 表1.字段1 = 表2.字段2说明:left join 就是左连接查询关键字 on 就是连接查询条件 表1 是左表 表2 是右表例1:使用左连接查询学生表与班级表:select * from students as s left join classes a.原创 2021-03-28 00:01:20 · 4137 阅读 · 0 评论 -
连接查询-内连接
1. 连接查询的介绍连接查询可以实现多个表的查询,当查询的字段数据来自不同的表就可以使用连接查询来完成。连接查询可以分为:内连接查询 左连接查询 右连接查询 自连接查询2. 内连接查询查询两个表中符合条件的共有记录内连接查询效果图:内连接查询语法格式:select 字段 from 表1 inner join 表2 on 表1.字段1 = 表2.字段2说明:inner join 就是内连接查询关键字 on 就是连接查询条件例1:使用内连接查询..原创 2021-03-28 00:00:43 · 1132 阅读 · 0 评论 -
分组查询
1. 分组查询介绍分组查询就是将查询结果按照指定字段进行分组,字段中数据相等的分为一组。分组查询基本的语法格式如下:GROUP BY 列名 [HAVING 条件表达式] [WITH ROLLUP]说明:列名: 是指按照指定字段的值进行分组。 HAVING 条件表达式: 用来过滤分组后的数据。 WITH ROLLUP:在所有记录的最后加上一条记录,显示select查询时聚合函数的统计和计算结果2. group by的使用group by可用于单个字段分组,也可用于多个字段分.原创 2021-03-27 10:37:32 · 5480 阅读 · 0 评论 -
聚合函数
1. 聚合函数的介绍聚合函数又叫组函数,通常是对表中的数据进行统计和计算,一般结合分组(group by)来使用,用于统计和计算分组数据。常用的聚合函数:count(col): 表示求指定列的总行数 max(col): 表示求指定列的最大值 min(col): 表示求指定列的最小值 sum(col): 表示求指定列的和 avg(col): 表示求指定列的平均值2. 求总行数-- 返回非NULL数据的总行数.select count(height) from student.原创 2021-03-27 10:36:55 · 10588 阅读 · 0 评论 -
命令行客户端MySQL的使用
1. 登录和登出数据库登录数据库:输入下面命令:mysql -uroot -p说明:-u 后面是登录的用户名 -p 后面是登录密码, 如果不填写, 回车之后会提示输入密码登录数据库效果图:登录成功后, 输入如下命令查看效果:# 显示当前时间select now();登出(退出)数据库:quit 或 exit 或 ctrl + d2. 数据库操作的SQL语句 查看所有数据库 show databases; 创建数据库.原创 2021-03-27 10:29:53 · 102 阅读 · 0 评论 -
分页查询
1. 分页查询的介绍当我们在京东购物,浏览商品列表的时候,由于数据特别多,一页显示不完,一页一页的进行显示,这就是分页查询2. 分页查询的语法select * from 表名 limit start,count说明:limit是分页查询关键字 start表示开始行索引,默认是0 count表示查询条数例1:查询前3行男生信息:select * from students where gender=1 limit 0,3;简写select * from stude.原创 2021-03-27 10:29:21 · 96 阅读 · 1 评论 -
排序
1. 排序查询语法排序查询语法:select * from 表名 order by 列1 asc|desc [,列2 asc|desc,...]语法说明:先按照列1进行排序,如果列1的值相同时,则按照 列2 排序,以此类推 asc从小到大排列,即升序 desc从大到小排序,即降序 默认按照列值从小到大排列(即asc关键字)例1:查询未删除男生信息,按学号降序:select * from students where gender=1 and is_delete=0 orde原创 2021-03-27 10:28:08 · 159 阅读 · 0 评论 -
where条件查询
1. where条件查询的介绍使用where条件查询可以对表中的数据进行筛选,条件成立的记录会出现在结果集中。where语句支持的运算符:比较运算符 逻辑运算符 模糊查询 范围查询 空判断where条件查询语法格式如下:select * from 表名 where 条件;例:select * from students where id = 1;2. 比较运算符查询等于: = 大于: > 大于等于: >= 小于: < 小于等于: &l.原创 2021-03-27 10:23:16 · 821 阅读 · 0 评论 -
as和distinct关键字
1. as关键字在使用SQL语句显示结果的时候,往往在屏幕显示的字段名并不具备良好的可读性,此时可以使用 as 给字段起一个别名。 使用 as 给字段起别名 select id as 序号, name as 名字, gender as 性别 from students; 可以通过 as 给表起别名 -- 如果是单表查询 可以省略表名select id, name, gender from students;-- 表名.字段名select students.id,st原创 2021-03-27 10:22:22 · 226 阅读 · 0 评论 -
图形化客户端Navicat
1. Navicat的介绍Navicat 是一套快速、可靠并价格适宜的数据库管理工具, 适用于三种平台: Windows、mac OS 及 Linux。 可以用来对本机或远程的 MySQL、SQL Server、SQLite、Oracle 等数据库进行管理及开发。 专门为简化数据库的操作而设计。 它的设计符合数据库管理员、开发人员及中小企业的需求。 Navicat 是一个数据库图形化客户端软件, 让你可以以安全并且简单的方式对数据库进行操作。2. Navicat的使用Navicat 的使用.原创 2021-03-27 10:05:18 · 350 阅读 · 0 评论 -
数据类型和约束
数据库中的数据保存在数据表中,在表中为了更加准确的存储数据,保证数据的正确有效,可以在创建表的时候,为表添加一些强制性的验证,比如:数据类型和约束。1. 数据类型数据类型是指在创建表的时候为表中字段指定数据类型,只有数据符合类型要求才能存储起来,使用数据类型的原则是:够用就行,尽量使用取值范围小的,而不用大的,这样可以更多的节省存储空间。常用数据类型如下:整数:int,bit 小数:decimal 字符串:varchar,char 日期时间: date, time, datetime原创 2021-03-27 10:03:54 · 379 阅读 · 0 评论 -
MySQL数据库
1. MySQL数据库的介绍MySQL是一个关系型数据库管理系统,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件,它是由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品,MySQL 是最流行的关系型数据库管理系统中的一个。MySQL的特点:MySQL是开源的,所以你不需要支付额外的费用。 MySQL支持大型的数据库。可以处理拥有上千万条记录的大型数据库。 MyS原创 2021-03-27 09:58:10 · 187 阅读 · 0 评论 -
关系型数据库管理系统
1. 关系型数据库管理系统的介绍数据库管理系统(英语全拼:Relational Database Management System,简称RDBMS)是为管理关系型数据库而设计的软件系统,如果大家想要使用关系型数据库就需要安装数据库管理系统,其实就是一个应用软件。关系型数据库管理系统可以分为:关系型数据库服务端软件 关系型数据库客户端软件关系型数据库服务端软件:主要负责管理不同的数据库,而每个数据库里面会有一系列数据文件,数据文件是用来存储数据的, 其实数据库就是一系列数据文..原创 2021-03-26 06:24:04 · 1188 阅读 · 0 评论 -
数据库
1. 数据库的介绍数据库就是存储和管理数据的仓库,数据按照一定的格式进行存储,用户可以对数据库中的数据进行增加、修改、删除、查询等操作。2. 数据库的分类关系型数据库 非关系型数据库关系型数据库:是指采用了关系模型来组织数据的数据库,简单来说,关系模型指的就是二维表格模型,好比Excel文件中的表格,强调使用表格的方式存储数据。关系型数据库中核心元素数据行 数据列 数据表 数据库(数据表的集合)常用的关系型数据库:Oracle Microsoft S..原创 2021-03-26 06:18:26 · 87 阅读 · 0 评论