MySQL
fearhai
世界上没有做不成的事,只有坚持不下去的人!
展开
-
数据库规范
列不可拆分:比如显示一个学生信息,肯定需要姓名和年龄,这2个列就不可拆分。 唯一标识:查询某条数据的关键 引用主键:与第二个有关联的,通过主键去查询另一张表格,而另一张表格里有一个一样唯一标识 说明:后一个范式,都是在前一个范式的基础上建立的...原创 2018-08-26 19:43:40 · 210 阅读 · 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 · 328 阅读 · 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 · 226 阅读 · 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 · 137 阅读 · 0 评论 -
MySql之分组查询
分组按照字段分组,表示此字段相同的数据会被放到一个组中 分组后,只能查询出相同的数据列,对于有差异的数据列无法出现在结果集中 可以对分组后的数据进行统计,做聚合运算 语法:select 列1,列2,聚合... from 表名 group by 列1,列2,列3...查询男女生总数select gender as 性别,count(*)from studentsgroup...翻译 2018-09-03 22:19:42 · 141 阅读 · 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 · 251 阅读 · 0 评论 -
MySql之条件查询
条件使用where子句对表中的数据筛选,结果为true的行会出现在结果集中 语法如下:select * from 表名 where 条件;比较运算符等于= 大于> 大于等于>= 小于< 小于等于<= 不等于!=或<> 查询编号大于3的学生select * from students where id>3;查询编号不大...翻译 2018-09-03 10:53:15 · 9090 阅读 · 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 · 73 阅读 · 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 · 120 阅读 · 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 · 110 阅读 · 0 评论 -
MySql的事务
事务当一个业务逻辑需要多个sql完成时,如果其中某条sql语句出错,则希望整个操作都退回 使用事务可以完成退回的功能,保证业务逻辑的正确性 事务四大特性(简称ACID) 原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执行 一致性(Consistency):几个并行执行的事务,其执行结果必须与按某一顺序串行执行的结果相一致 隔离性(Is...翻译 2018-09-04 14:45:46 · 79 阅读 · 0 评论 -
MySql内置函数
字符串函数查看字符的ascii码值ascii(str),str是空串时返回0select 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 · 366 阅读 · 0 评论 -
MySql的数据导入
从sql文件中导入数据source areas.sql;原创 2018-09-04 11:54:09 · 106 阅读 · 0 评论 -
MySql数据库操作
创建数据库create database 数据库名 charset=utf8; create table 表名(列...); 唯一标识的要求:id 类型:int unsigned 约束1:not null 约束2:primary key 约束...翻译 2018-09-01 16:13:35 · 90 阅读 · 0 评论 -
MySql的连接查询
分析:学生姓名来源于students表,科目名称来源于subjects,分数来源于scores表,怎么将3个表放到一起查询,并将结果显示在同一个结果集中呢? 答:当查询结果来源于多张表时,需要使用连接查询 关键:找到表间的关系,当前的关系是 students表的id---scores表的stuid subjects表的id---scores表的subid 则上面问题的答案是:s...翻译 2018-09-04 09:28:21 · 131 阅读 · 0 评论 -
数据完整性
一个数据库就是一个完整的业务单元,可以包含多张表,数据被存储在表中 在表中为了更加准确的存储数据,保证数据的正确有效,可以在创建表的时候,为表添加一些强制性的验证,包括数据字段的类型、约束字段类型在mysql中包含的数据类型很多,这里主要列出来常用的几种 数字:int,decimal 字符串:varchar,text 日期:datetime 布尔:bit约束主键primary...翻译 2018-08-26 19:59:36 · 1067 阅读 · 0 评论 -
MySql和Pytnon交互
安装mysql模块 sudo apt-get install python-mysqldb 在文件中引入模块import MysqldbConnection对象用于建立与数据库的连接 创建对象:调用connect()方法conn=connect(参数列表)参数host:连接的mysql主机,如果本机是'localhost' 参数port:连接的mysql主...原创 2018-09-06 12:01:40 · 157 阅读 · 0 评论