数据基础篇
文章平均质量分 66
mysql笔记
-无事小神仙-
善始者实繁,克终者盖寡:善于开始去做事的人实在是太多了,而能够克服困难最终把事情做完的人原来那么少。
展开
-
01.MySQL数据库的安装与卸载
1. MySQL的安装1.1 安装准备下载:https://dev.mysql.com/downloads/mysql/安装包:mysql-5.5.28-winx64.msi1.2 开始安装1.2.1 打开mysql-5.5.28-winx64.msi安装程序[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GxHOCt5F-1593931218085)(images/08.MySQL%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E5%原创 2020-07-06 20:25:08 · 167 阅读 · 0 评论 -
02.SQ语言
SQL语言结构化查询语言(Structured Query Language)非过程性语言:语句的执行不依赖其他语句,一条语句就会执行一个结果。为了增强SQL语言的能力,各厂商增强了过程语言的特征,如SQLServer的T-SQL。SQL是用来存取关系型数据库的语言,具有查询(DQL)、操纵(DML)、定义(DDL)和控制(DCL)关系型数据四个方面的功能。分类:DQL:数据查询语言(SELECT)DML:数据操纵语言(INSERT、DELETE、UPDATE)DDL:数据定义原创 2020-07-19 22:42:38 · 644 阅读 · 0 评论 -
03.常见数据类型
数据类型分类:数值型整型小数定点型浮点型字符型短字符长字符日期型原则:虽然数据类型有多种多样,但是尽量选择简单的使用,比如能用int解决的绝不用bigint2.1 数值型2.1.1 整型关键字字节数描述bit相当于java中的booleantinyint1相当于java中的bytesmallint2相当于java中的shortint/integer4相当于java中的intbigint8原创 2020-07-20 21:56:02 · 132 阅读 · 1 评论 -
04.常见约束
1. 常见约束描述:一种限制,用于限制表中的数据,保证数据的一致性分类:not null:非空约束,用于保证字段值不能为空default:默认约束,用于保证字段值有默认值check:检查约束,用于保证字段的取值范围,mysql不支持unique:唯一约束,用于保证字段值唯一性,允许存在一个nullprimary key:主键约束,用于保证字段的唯一性和非空性foreign key:外键约束,用于保证字段值来自主表字段值列级约束:六大约束都支持,但外键约束无效果表级约束:除了非空约原创 2020-07-21 21:00:19 · 162 阅读 · 0 评论 -
05.数据库的CRUD操作
1. 创建数据库# 语法CREATE DATABASE [IF NOT EXISTS] 数据库名称 [CHARACTER SET 字符集名称 COLLATE 排序规则];# 实例CREATE DATABASE `test` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';2. 删除数据库# 语法DROP DATABASE [IF EXISTS] 数据库名称;# 实例DROP DATABASE IF EXISTS `test`;3. 修原创 2020-07-22 20:55:04 · 145 阅读 · 1 评论 -
06.数据表的CRUD操作
1. 创建数据表# 语法CREATE TABLE IF NOT EXISTS 数据表名称( 列名1 列类型1(长度) 约束, 列名2 列类型2(长度) 约束, .......);# 实例CREATE TABLE IF NOT EXISTS `user`( `pk_id` INT PRIMARY KEY AUTO_INCREMENT, `uk_username` VARCHAR(20) NOT NULL, `password` VARCHAR(20) NOT NULL原创 2020-07-23 21:00:23 · 806 阅读 · 1 评论 -
07.数据的增删改操作
1. 添加记录1.1 添加记录的所有字段# 语法INSERT INTO 数据表名称 VALUES(字段值1,字段值2,字段值3,......);# 实例INSERT INTO `user` VALUES(1,'root','123456789','15971196612','湖北黄冈');1.2 添加记录的指定字段# 语法INSERT INTO 数据表名称(字段名1,字段名2,字段名3,......) VALUES(字段值1,字段值2,字段值3,......);# 实例INSERT原创 2020-07-24 23:35:21 · 771 阅读 · 0 评论 -
08.数据的基础查询操作
1. 查询记录# 语法SELECT 查询列表FROM 表1 表1别名INNER JOIN 表2 表2别名ON 连接条件WHERE 筛选条件GROUP BY 分组列表HAVING 分组筛选条件ORDER BY 排序列表LIMIT 起始索引,记录个数;# 执行顺序(1)FROM(2)JOIN(3)ON(4)WHERE(5)GROUP BY(6)HAVING(7)SELECT(8)ORDER BY(9)LIMIT2. 基础查询查询列表可以是:字原创 2020-07-27 09:01:06 · 104 阅读 · 0 评论 -
09.数据的条件查询操作
1. 条件查询WHERE筛选条件为true,则返回查询记录# 语法SELECT 查询列表 FROM 数据表名称 WHERE 筛选条件;# 执行顺序FROM -----> WHERE -----> SELECT相关运算符 条件运算符 含义>大于<小于=原创 2020-07-27 21:38:13 · 223 阅读 · 1 评论 -
10.常见的内置函数
1. 常见函数语法:SELECT 函数名称(参数列表) [FROM 数据表名称];分类:单行函数(给定一个值返回一个结果)字符函数数学函数日期函数其他函数流程控制函数分组函数(聚集函数|统计函数,给定一些值返回一个值)2. 字符函数2.1 获取字节个数函数:length(str)注意:utf8字符集中一个汉字占三个字节,一个英文占一个字节# 查询"Hello World"的字节个数SELECT LENGTH('Hello World');# 结果原创 2020-07-28 21:11:20 · 397 阅读 · 0 评论 -
11.数据的排序查询操作
1. 排序查询支持别名ASC升序,DESC降序,不写默认为升序# 语法SELECT 查询列表 FROM 数据表名称 ORDER BY 排序列表 [ASC|DESC];# 执行顺序FROM ------> SELECT -----> ORDER BY# 查询用户表信息,按性别降序,性别相同的按编号升序SELECT * FROM `user` ORDER BY `sex` DESC,`pk_id` ASC;...原创 2020-07-29 21:01:31 · 170 阅读 · 0 评论 -
12.分组函数与分组查询
1. 分组函数含义:求总和 求平均值 求最大值 求最小值 求总个数函数:sum() avg() max() min() count()分组函数对数据类型的要求所有类型都可以,但是可能达不到预期效果sum()和avg()一般处理数值型max()和min()可以处理任何类型,因为字符串是可以排序的count()计算的是非NULL列的个数,因此不建议使用count(某字段),而推荐使用count(*)来统计个数都可以搭配distinct使用count()函数详原创 2020-07-30 21:10:49 · 218 阅读 · 0 评论 -
13.数据的连接查询操作
1. 连接查询描述:查询字段来自多个表,也叫多表查询分类:按功能分类内连接外连接交叉连接按年代分类SQL92标准:仅仅支持内连接SQL99标准:支持内连接、外连接(左外+右外)、交叉连接2. 内连接 分类:等值连接、非等值连接、自然连接2.1 SQL92标准的等值连接描述:将表1记录逐一与表2记录对比,通过等值连接条件来决定是否返回# 语法SELECT 查询列表 FROM 数据表列表 WHERE 等值连接条件 AND 筛选条件;# 实例SELE原创 2020-08-02 21:32:43 · 167 阅读 · 0 评论 -
14.事务
1. 事务一个或一组sql语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行。InnoDB支持事务,MyISAM和MEMORY不支持事务。2. 事务的ACID原子性:事务是一个不可分割的工作单元,要么都发生,要么都不发生。一致性:事务必须使数据库从一个一状态变换到另一个一直状态。隔离性:事物的执行不能被其他事务所干扰。持久性:事务一旦被提交,它对数据库中数据的改变就是永久性的。3. 事务的创建隐式事务:事务没有明显的开启和结束标记,比如:INSERT、UPDATE、D原创 2020-08-05 21:05:55 · 253 阅读 · 0 评论 -
15.数据的子查询操作
1. 子查询描述:出现在其他语句后面的select语句称为子查询或内查询,外部查询称为主查询或外查询分类:按结果集的行列数不同划分标量子查询:结果集一行一列列子查询:结果集一列多行行子查询:结果集一行多列表子查询:结果集多行多列按出现位置不同划分select子查询:标量子查询from子查询:表子查询where和having子查询:标量子查询、列子查询、行子查询exists子查询:表子查询特点:子查询放在小括号内子查询一般放在条件右侧标量子查询一般搭配单行原创 2020-08-06 22:48:01 · 109 阅读 · 0 评论 -
16.数据的联合查询操作
1. 联合查询描述:将多条查询语句的结果集合并成一个结果特点:多条查询语句列数保持一致,否则报错最终结果集列名为查询语句1的查询列名多条查询语句的列名含义保持一致,虽然不一致不报错,但这是没有意义的union关键字会默认去除最终结果集的重复记录,使用union all关键字可以取消去重# 语法SELECT 查询列表 FROM 数据表列表 WHERE 筛选条件UNIONSELECT 查询列表 FROM 数据表列表 WHERE 筛选条件UNION......;# 实例原创 2020-08-11 21:18:33 · 167 阅读 · 0 评论 -
17.视图
1. 视图一种虚拟表,和普通表一样是用。mysql5.1版本出现的新特性,是通过表动态生成的数据。保存了sql的逻辑,不保存查询的结果。2. 使用场景多个地方用到同样的查询结果(实现了sql的重用)该查询结果使用的sql语句较复杂(实现了对sql的分步简化)3. 视图的创建# 语法CREATE VIEW 视图名 AS 查询语句;# 实例CREATE VIEW username_password_view AS SELECT `username`,`password` FROM `原创 2020-08-18 21:55:37 · 125 阅读 · 1 评论