
MySQL
fearhai
世界上没有做不成的事,只有坚持不下去的人!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据库规范
列不可拆分:比如显示一个学生信息,肯定需要姓名和年龄,这2个列就不可拆分。 唯一标识:查询某条数据的关键 引用主键:与第二个有关联的,通过主键去查询另一张表格,而另一张表格里有一个一样唯一标识 说明:后一个范式,都是在前一个范式的基础上建立的 ...原创 2018-08-26 19:43:40 · 259 阅读 · 0 评论 -
MySql的关系(外键)
比如:创建成绩表scores,结构如下 id 学生(students表) 科目(subjects表) 成绩(scores表) 1.建立关系 1.1外键约束:有二种 1.1.1创建表时可以直接创建约束 create table scores( id int primary key auto_increment, stuid int, subid int,...原创 2018-09-04 00:37:15 · 385 阅读 · 0 评论 -
MySql之分页查询
获取部分行 当数据量过大时,在一页中查看数据是一件非常麻烦的事情 语法 select * from 表名 limit start,count 从start开始,获取count条数据 start索引从0开始 示例:分页 已知:每页显示m条数据,当前显示第n页 求总页数:此段逻辑后面会在python中实现 查询总条数p1 使用p1除以m得到p2 如果整除则p2为总数页 如...翻译 2018-09-03 22:33:31 · 265 阅读 · 0 评论 -
MySql之排序查询
排序 为了方便查看数据,可以对数据进行排序 语法: select * from 表名 order by 列1 asc|desc,列2 asc|desc,... 将行数据按照列1进行排序,如果某些行列1的值相同时,则按照列2排序,以此类推 默认按照列值从小到大排列 asc从小到大排列,即升序 desc从大到小排序,即降序 查询未删除男生学生信息,按学号降序 select * fr...翻译 2018-09-03 22:28:39 · 171 阅读 · 0 评论 -
MySql之分组查询
分组 按照字段分组,表示此字段相同的数据会被放到一个组中 分组后,只能查询出相同的数据列,对于有差异的数据列无法出现在结果集中 可以对分组后的数据进行统计,做聚合运算 语法: select 列1,列2,聚合... from 表名 group by 列1,列2,列3... 查询男女生总数 select gender as 性别,count(*) from students group...翻译 2018-09-03 22:19:42 · 184 阅读 · 0 评论 -
MySql之聚合查询
5个聚合函数 1、count(*)表示计算总行数,括号中写星与列名,结果是相同的 查询学生总数 select count(*) from students; 2、max(列)表示求此列的最大值 查询女生的编号最大值 select max(id) from students where gender=0; 3、min(列)表示求此列的最小值 查询未删除的学生最小编号 selec...翻译 2018-09-03 20:41:42 · 305 阅读 · 0 评论 -
MySql之条件查询
条件 使用where子句对表中的数据筛选,结果为true的行会出现在结果集中 语法如下: select * from 表名 where 条件; 比较运算符 等于= 大于> 大于等于>= 小于< 小于等于<= 不等于!=或<> 查询编号大于3的学生 select * from students where id>3; 查询编号不大...翻译 2018-09-03 10:53:15 · 9220 阅读 · 0 评论 -
MySql表操作
查看当前数据库中所有表 show tables; 创建表 auto_increment表示自动增长 create table 表名(列及类型); 如: create table students( id int auto_increment primary key, sname varchar(10) not null ); 修改表 alter table 表名...翻译 2018-09-03 10:26:17 · 111 阅读 · 0 评论 -
MySql备份与恢复
数据备份 进入超级管理员 sudo -s 进入mysql库目录 cd /var/lib/mysql 运行mysqldump命令 mysqldump –uroot –p 数据库名 > ~/Desktop/备份文件.sql; 按提示输入mysql的密码 数据恢复 连接mysqk,创建数据库 退出连接,执行如下命令 mysql -uroot –p 数据库名...翻译 2018-09-03 10:17:00 · 157 阅读 · 0 评论 -
MySql数据操作
查询 select * from 表名 增加 全列插入:insert into 表名 values(...) 缺省插入:insert into 表名(列1,...) values(值1,...) 同时插入多条数据:insert into 表名 values(...),(...)...; 或insert into 表名(列1,...) values(值1,...),(值1,...)...; ...翻译 2018-09-03 10:03:18 · 151 阅读 · 0 评论 -
MySql的事务
事务 当一个业务逻辑需要多个sql完成时,如果其中某条sql语句出错,则希望整个操作都退回 使用事务可以完成退回的功能,保证业务逻辑的正确性 事务四大特性(简称ACID) 原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执行 一致性(Consistency):几个并行执行的事务,其执行结果必须与按某一顺序串行执行的结果相一致 隔离性(Is...翻译 2018-09-04 14:45:46 · 124 阅读 · 0 评论 -
MySql内置函数
字符串函数 查看字符的ascii码值ascii(str),str是空串时返回0 select ascii('a'); 查看ascii码值对应的字符char(数字) select char(97); 拼接字符串concat(str1,str2...) select concat(12,34,'ab'); 包含字符个数length(str) select length('abc'...翻译 2018-09-04 14:19:28 · 407 阅读 · 0 评论 -
MySql的数据导入
从sql文件中导入数据 source areas.sql;原创 2018-09-04 11:54:09 · 147 阅读 · 0 评论 -
MySql数据库操作
创建数据库 create database 数据库名 charset=utf8; create table 表名(列...); 唯一标识的要求:id 类型:int unsigned 约束1:not null 约束2:primary key 约束...翻译 2018-09-01 16:13:35 · 126 阅读 · 0 评论 -
MySql的连接查询
分析:学生姓名来源于students表,科目名称来源于subjects,分数来源于scores表,怎么将3个表放到一起查询,并将结果显示在同一个结果集中呢? 答:当查询结果来源于多张表时,需要使用连接查询 关键:找到表间的关系,当前的关系是 students表的id---scores表的stuid subjects表的id---scores表的subid 则上面问题的答案是: s...翻译 2018-09-04 09:28:21 · 170 阅读 · 0 评论 -
数据完整性
一个数据库就是一个完整的业务单元,可以包含多张表,数据被存储在表中 在表中为了更加准确的存储数据,保证数据的正确有效,可以在创建表的时候,为表添加一些强制性的验证,包括数据字段的类型、约束 字段类型 在mysql中包含的数据类型很多,这里主要列出来常用的几种 数字:int,decimal 字符串:varchar,text 日期:datetime 布尔:bit 约束 主键primary...翻译 2018-08-26 19:59:36 · 1112 阅读 · 0 评论 -
MySql和Pytnon交互
安装mysql模块 sudo apt-get install python-mysqldb 在文件中引入模块 import Mysqldb Connection对象 用于建立与数据库的连接 创建对象:调用connect()方法 conn=connect(参数列表) 参数host:连接的mysql主机,如果本机是'localhost' 参数port:连接的mysql主...原创 2018-09-06 12:01:40 · 200 阅读 · 0 评论