MySQL数据库
vettel2019
不要抱怨,不要嫉妒,做好自己
展开
-
MySQL练习题
1、自行创建测试数据#年级表create table class_grade( gid int primary key auto_increment, gname char(10) unique);#插入数据insert into class_grade values(1,'一年级'),(2,'二年级'),(3,'三年级');#班级表create table c...原创 2019-02-14 19:03:30 · 2284 阅读 · 0 评论 -
10、数据操作---数据的增删改
一 介绍MySQL数据操作: DML========================================================在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括使用INSERT实现数据的插入 UPDATE实现数据的更新 使用DELETE实现数据的删除 使用SELECT查询数据以及。==============...原创 2019-02-10 19:46:13 · 171 阅读 · 0 评论 -
12、数据操作---多表查询
一 介绍本节主题多表连接查询 复合条件连接查询 子查询准备表#建表create table department(id int,name varchar(20) );create table employee(id int primary key auto_increment,name varchar(20),sex enum('male','female')...原创 2019-02-11 08:50:48 · 127 阅读 · 0 评论 -
13、图形工具Navicat
一 Navicat在生产环境中操作MySQL数据库还是推荐使用命令行工具mysql,但在我们自己开发测试时,可以使用可视化工具Navicat,以图形界面的形式操作MySQL数据库官网下载:https://www.navicat.com/en/products/navicat-for-mysql需要掌握的基本操作掌握:#1. 测试+链接数据库#2. 新建库#3. 新建表,新增...原创 2019-02-11 08:53:49 · 201 阅读 · 0 评论 -
14、pymysql模块
一 介绍之前我们都是通过MySQL自带的命令行客户端工具mysql来操作数据库,那如何在python程序中操作数据库呢?这就用到了pymysql模块,该模块本质就是一个套接字客户端软件,使用前需要事先安装pip3 install pymysql二 链接、执行sql、关闭(游标)import pymysqluser=input('用户名: ').strip()pwd=in...原创 2019-02-11 08:58:30 · 115 阅读 · 0 评论 -
15、mysql内置功能---视图
一 视图视图是一个虚拟表(非真实存在),其本质是【根据SQL语句获取动态的数据集,并为其命名】,用户使用时只需使用【名称】即可获取结果集,可以将该结果集当做表来使用。使用视图我们可以把查询过程中的临时表摘出来,用视图去实现,这样以后再想操作该临时表的数据时就无需重写复杂的sql了,直接去视图中查找即可,但视图有明显地效率问题,并且视图是存放在数据库中的,如果我们程序中使用的sql过分依赖数...原创 2019-02-11 09:02:16 · 112 阅读 · 0 评论 -
16、mysql内置功能---触发器
一 触发器使用触发器可以定制用户对表进行【增、删、改】操作时前后的行为,注意:没有查询二 创建触发器# 插入前CREATE TRIGGER tri_before_insert_tb1 BEFORE INSERT ON tb1 FOR EACH ROWBEGIN ...END# 插入后CREATE TRIGGER tri_after_insert_tb1 AFTER...原创 2019-02-11 09:04:29 · 110 阅读 · 0 评论 -
17、mysql内置功能---事物
一 事物事务用于将某些操作的多个SQL作为原子性操作,一旦有某一个出现错误,即可回滚到原来的状态,从而保证数据库数据完整性。create table user(id int primary key auto_increment,name char(32),balance int);insert into user(name,balance)values('wsb',100...原创 2019-02-11 09:05:35 · 101 阅读 · 0 评论 -
18、mysql内置功能---存储过程
一 存储过程介绍存储过程包含了一系列可执行的sql语句,存储过程存放于MySQL中,通过调用它的名字可以执行其内部的一堆sql使用存储过程的优点:#1. 用于替代程序写的SQL语句,实现程序与sql解耦#2. 基于网络传输,传别名的数据量小,而直接传sql数据量大使用存储过程的缺点:#1. 程序员扩展功能不方便补充:程序与数据库结合使用的三种方式#方式一:...原创 2019-02-11 09:09:41 · 121 阅读 · 0 评论 -
19、mysql内置功能---函数
一 函数MySQL中提供了许多内置函数,例如:一、数学函数 ROUND(x,y) 返回参数x的四舍五入的有y位小数的值 RAND() 返回0到1内的随机值,可以通过提供一个参数(种子)使RAND()随机数生成器生成一个指定的值。二、聚合函数(常用于GROUP BY从句的SELECT查询中) AVG(col)返回指定列的平均值...原创 2019-02-11 09:13:45 · 119 阅读 · 0 评论 -
20、mysql内置功能---流程控制
一 流程控制delimiter //CREATE PROCEDURE proc_if ()BEGIN declare i int default 0; if i = 1 THEN SELECT 1; ELSEIF i = 2 THEN SELECT 2; ELSE SELECT 7; END IF;...原创 2019-02-11 09:15:28 · 94 阅读 · 0 评论 -
21、索引原理与慢查询优化(1)
一 介绍为何要有索引?一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句的优化显然是重中之重。说起加速查询,就不得不提到索引了。什么是索引?索引在MySQL中也叫做“键”,是存储引擎用于快速找到记录的一种数据结构。索引对于良好的性能非常关键,尤其是当表中的数...原创 2019-02-11 09:23:16 · 146 阅读 · 0 评论 -
9、表操作---完整性约束
一、介绍约束条件与数据类型的宽度一样,都是可选参数作用:用于保证数据的完整性和一致性主要分为:PRIMARY KEY (PK) 标识该字段为该表的主键,可以唯一的标识记录FOREIGN KEY (FK) 标识该字段为该表的外键NOT NULL 标识该字段不能为空UNIQUE KEY (UK) 标识该字段的值是唯一的AUTO_INCREMENT ...原创 2019-02-10 19:42:01 · 298 阅读 · 0 评论 -
8-4、表操作---数据类型---枚举类型与集合类型
枚举类型与集合类型字段的值只能在给定范围中选择,如单选框,多选框enum 单选 只能在给定的范围内选一个值,如性别 sex 男male/女femaleset 多选 在给定的范围内可以选择一个或一个以上的值(爱好1,爱好2,爱好3...)MariaDB [db1]> create table consumer( -> name varchar(50), ...原创 2019-02-10 19:35:03 · 171 阅读 · 0 评论 -
8-3、表操作---数据类型---字符串类型
字符类型#官网:https://dev.mysql.com/doc/refman/5.7/en/char.html#注意:char和varchar括号内的参数指的都是字符的长度#char类型:定长,简单粗暴,浪费空间,存取速度快 字符长度范围:0-255(一个中文是一个字符,是utf8编码的3个字节) 存储: 存储char类型的值时,会往右填充空格来满足...原创 2019-02-10 19:34:05 · 161 阅读 · 0 评论 -
11、数据操作---单表查询
一 单表查询的语法SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数二 关键字的执行优先级...原创 2019-02-10 19:51:18 · 234 阅读 · 0 评论 -
1、数据库管理软件的由来
1、程序所有的组件就不可能运行在一台机器因为这台机器一旦挂掉则意味着整个软件的崩溃,并且程序的执行效率依赖于承载它的硬件,而一台机器机器的性能总归是有限的,受限于目前的硬件水平,就一台机器的性能垂直进行扩展是有极限的,于是我们只能通过水平扩展来增强我们系统的整体性能,这就需要我们将程序的各个组件分布于多台机器去执行。 2、数据安全问题根据1的描述,我们将程序的各个组件分布到各台机器...原创 2019-02-07 10:20:07 · 156 阅读 · 0 评论 -
2、数据库概述
1 什么是数据(Data)描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字、图片,图像、声音、语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机在计算机中描述一个事物,就需要抽取这一事物的典型特征,组成一条记录,就相当于文件里的一行内容,如:1 jack,male,25,1994,山东,计算机系,2019,lufei单纯的一条记录并没有任何意义,如果...原创 2019-02-07 10:26:13 · 106 阅读 · 0 评论 -
3、MySQL介绍
一、MySQL介绍MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。mysql是什么mysql就是一个基于socket编写...原创 2019-02-07 10:36:56 · 471 阅读 · 0 评论 -
4、初识SQL语句
初识sql语句有了mysql这个数据库软件,就可以将程序员从对数据的管理中解脱出来,专注于对程序逻辑的编写mysql服务端软件即mysqld帮我们管理好文件夹以及文件,前提是作为使用者的我们,需要下载mysql的客户端,或者其他模块来连接到mysqld,然后使用mysql软件规定的语法格式去提交自己命令,实现对文件夹或文件的管理。该语法即sql(Structured Query Langu...原创 2019-02-07 10:41:05 · 115 阅读 · 0 评论 -
5、库操作---库的增删改查
一 系统数据库information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息、列信息、权限信息、字符信息等performance_schema: MySQL 5.5开始新增一个数据库:主要用于收集数据库服务器性能参数,记录处理查询请求时发生的各种事件、锁等现象mysql: 授权库,主要存储系统用户的权限信息test: MySQL数据库系统自动...原创 2019-02-07 10:45:01 · 126 阅读 · 0 评论 -
6、表操作---存储引擎介绍
一 什么是存储引擎mysql中建立的库===>文件夹库中建立的表===>文件现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各自不同的处理机制:比如处理文本用txt类型,处理表格用excel,处理图片用png等数据库中的表也应该有不同的类型,表的类型不同,会对应mysql不同的存取机制,表类型又称为存储引擎。存储引擎说白了就是如何存储数据、如何为存储的...原创 2019-02-10 19:12:19 · 161 阅读 · 0 评论 -
7、表操作---表的增删改查
一、表介绍表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段id,name,qq,age称为字段,其余的,一行内容称为一条记录二、创建表语法create table 表名(字段名1 类型[(宽度) 约束条件],字段名2 类型[(宽度) 约束条件],字段名3 类型[(宽度) 约束条件]);#注意:1. 在同一张表...原创 2019-02-10 19:22:52 · 323 阅读 · 0 评论 -
8、表操作---数据类型
介绍存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的详细参考:http://www.runoob.com/mysql/mysql-data-types.html http://dev.mysql.com/doc/refman/5.7/en/data-type-overview.htmlmysql常用数据类型概览#1. 数字:...原创 2019-02-10 19:24:05 · 120 阅读 · 0 评论 -
8-1、表操作---数据类型---数值类型
1、整数类型整数类型:TINYINT SMALLINT MEDIUMINT INT BIGINT作用:存储年龄,等级,id,各种号码等======================================== tinyint[(m)] [unsigned] [zerofill] 小整数,数据类型用于保存一些范围的整数数值范围: ...原创 2019-02-10 19:28:22 · 157 阅读 · 0 评论 -
8-2、表操作---数据类型---日期类型
日期类型DATE TIME DATETIME TIMESTAMP YEAR作用:存储用户注册时间,文章发布时间,员工入职时间,出生时间,过期时间等 YEAR YYYY(1901/2155) DATE YYYY-MM-DD(1000-01-01/9999-12-31) TIME ...原创 2019-02-10 19:30:41 · 270 阅读 · 0 评论 -
22、索引原理与慢查询优化(2)
七 正确使用索引一 索引未命中并不是说我们创建了索引就一定会加快查询速度,若想利用索引达到预想的提高查询速度的效果,我们在添加索引时,必须遵循以下问题1 范围问题,或者说条件不明确,条件中出现这些符号或关键字:>、>=、<、<=、!= 、between...and...、like、大于号、小于号不等于!=between ...and......原创 2019-02-14 19:12:40 · 113 阅读 · 0 评论