![](https://img-blog.csdnimg.cn/fc6a8c1a0def42c4aab1d62909c55afa.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
MySQL
文章平均质量分 57
原理与操作。
Fleming.
无限进步。
展开
-
【MySQL学习笔记】MySQL原理---企业规范约束
一、库表字段约束规范不要因为大度而浪费性能,浪费存储不要使用mysql中的关键字进行命名(table、select等)库名、表名与字段名必须是小写字母,不能用大写!并且不能以数字开头!禁止下划线中间出现数字!(因为Windows中是对大小写不敏感的,Linux是对大小写敏感的,我们需要避免不必要的麻烦)表名不能用复数形式命名,应当考虑与业务名有关。单表行数超过5000万行或单表容量超过2G的要分库分表。值为小数的字段应当使用decimal避免精度丢失,禁止使用float和dou原创 2021-10-20 15:41:18 · 117 阅读 · 0 评论 -
【MySQL学习笔记】MySQL原理---函数
一、number生成一个随机数:SELECT rand();抽奖抽出三个人:SELECT * FROM student ORDER BY rand() LIMIT 3;向上取整:SELECT round(3.1);向下取整:SELECT floor(3.1);截取数字:SELECT truncate(3.141593654,2)随机排序:SELECT * FROM student ORDER BY rand();二、string将字符串转换为大写原创 2021-10-20 09:59:02 · 133 阅读 · 0 评论 -
【MySQL学习笔记】MySQL原理---存储过程
一、delimiter存储过程是指模块化设计可以理解为SQL中的函数可以在业务进行前,提前写好业务进行事件点上再使用命令调用存储过程并执行存储过程中可能含有很多SQL语句,每条语句以分号结尾,回车时会将命令发送至服务器,因此需要对SQL语句结束符有所改动。改变SQL语句结束符为 “ // ” :DELIMITER //还原SQL语句结束符为 “ ; ” :DELIMITER ;二、procedure 存储过程的用途改变SQL语句结束符为 “ // ” :DELIMITE原创 2021-10-19 23:02:29 · 119 阅读 · 0 评论 -
【MySQL学习笔记】MySQL原理---索引
一、索引(index)索引在MySQL中也叫做“键”,是存储引擎用于快速找到记录的一种数据结构。索引优化应该是对查询性能优化最有效的手段了,索引能够轻易将查询性能提高好几个数量级。注意:对需要被经常性、频繁查询的数据创建索引表中数据很少时,不要创建索引分类:1.普通索引index :加速查找2.唯一索引 主键索引:primary key :加速查找+约束(不为空且唯一) 唯一索引:unique:加速查找+约束 (唯一)3.联合索引 -primary key(i原创 2021-10-19 19:25:25 · 84 阅读 · 0 评论 -
【MySQL学习笔记】MySQL原理---事务
一、事务的提出购买商品时点击支付,并未付款,思考此时数据库的变化是怎样的?也就是说,某些时候,需要我们确定某事物之后再更新数据库。因此引入————事务(transaction)二、transaction创建一个钱包表:开始一个事务:START TRANSACTION;让1号用户金额减50:UPDATE wallet SET balance=balance-50 WHERE id=1;让2号用户金额加50:UPDATE wallet SET balance=balanc原创 2021-10-18 22:11:21 · 148 阅读 · 0 评论 -
【MySQL学习笔记】MySQL原理---视图
一、view视图创建、使用用来筛选,防止业务员看到敏感数据创建一张学生姓名与电话的视图:CREATE VIEW vw_stu ASSELECT name,phone FROM student;SELECT * FROM vw_stu;创建一张学生姓名、电话与分数的视图:CREATE VIEW vw_stu_all AS SELECT name,phone,score FROM student INNER JOIN score ON student.id=sc原创 2021-10-17 17:53:42 · 167 阅读 · 0 评论 -
【MySQL学习笔记】MySQL原理---子查询
一、子查询基本语法两个基本表:进行子查询,查询成绩大于等于85的学生实体的数据:子句的作用:SELECT stuid FROM score WHERE score >= 8;整条语句的作用:SELECT * FROM student WHERE id IN ( SELECT stuid FROM score WHERE原创 2021-10-15 16:31:50 · 431 阅读 · 0 评论 -
【MySQL学习笔记】MySQL原理---多表查询
一、union联合查询要查询的结果来自于多个表,且多个表没有直接的连接关系,但查询的信息一致时。特点:1、要求多条查询语句的查询列数是一致的2、要求多条查询语句查询的每一列的类型和顺序最好一致3、union关键字默认去重,如果使用union all 可以包含重复项两张表进行联合查询(逻辑上不正确,仅做示例进行展示以便理解):SELECT age, gender FROM info UNIONSELECT 'name', phone FROM teacher;二、原创 2021-10-15 15:45:34 · 273 阅读 · 0 评论 -
【MySQL学习笔记】MySQL原理---单表查询
一、select查询2*7的值:SELECT 2*7;查询2*7的值并用res进行命名:SELECT 2*7 AS res;二、fromCREATE TABLE t1( id INT, name VARCHAR(20) );CREATE TABLE t2( score1 INT(20), score2 INT(20) );INSERT INTO t1 VALUES(1,'frank')(2,'jerry');INSERT原创 2021-10-14 20:34:00 · 181 阅读 · 0 评论 -
【MySQL学习笔记】MySQL原理---数据库设计思维
一、数据库设计基本概念关系? 关系型数据库,用两张表的共有字段去确定数据的完整性行? 一条数据 (实体)列? 一个字段 (属性)冗余? 减少冗余、适当冗余(为了高效率查询)二、实体和实体之间的关系一对一?一对多?多对多?三、Codd第一范式(1NF)第一范式是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。达到1NF的操作:取消表中套表四、Codd第二范式 (2NF)第二范式要求数据库表中的每个实例原创 2021-10-12 22:59:16 · 119 阅读 · 0 评论 -
【MySQL学习笔记】MySQL原理---列属性完整性
一、列属性问题auto_increment(自增)标注的一定是主键建表时,一旦用auto_increment说明字段时,删除主键字段对应的某一单条数据后,本条主键字段对应内容不能再添加数据。如下图,若删除id字段为数字3的这一行后,不能再插入主键id=3的数据。二、Primary Key主键的作用以及企业用途创建时给确定的主键后面加上primary key后,不允许其值为NULL,除非设置为auto_increment(自增)性质:具有唯一性,不可重复性优点:保证数据的完整性,加快查询原创 2021-10-10 15:36:12 · 263 阅读 · 0 评论 -
【MySQL学习笔记】MySQL原理---数据类型
一、数据库的基本类型问题没有统一的标准,但要符合业务项目的逻辑二、int 数据类型企业重视考虑类型的大小与范围字段不可能为负数时,定义为unsigned 无符号数类型大小范围(有符号)范围(无符号)用途TINYINT1 Bytes(-128,127)(0,255)小整数值SMALLINT2 Bytes(-32 768,32 767)(0,65 535)大整数值MEDIUMINT3 Bytes(-8 388 608,8 388 607)原创 2021-10-07 22:51:57 · 124 阅读 · 0 评论 -
【MySQL学习笔记】MySQL原理---数据操作
一、插入数据插入数据:insert into 表名(字段名,字段名,字段名,字段名) values(值,值,值,值);INSERT INTO teacher (id, name, phone, address) VALUES(1, 'Fleming', '18888888888', 'TianJin');查询数据:SELECT * FROM teacher;省略简写:INSERT INTO teacher VALUES(2, 'Jeff', '18888889999', 'BeiJ原创 2021-10-04 23:41:30 · 129 阅读 · 0 评论 -
【MySQL学习笔记】MySQL原理---表的基本操作
一、表的思维仓库——>数据库仓库下面有表数据在表中二、引入数据库并查看数据库中的表创建一个数据库:CREATE DATABASE IF NOT EXISTS 'school' charset=gbk;查看数据库的创建方式:SHOW CREATE school;使用单个数据库:use 数据库名;USE school;显示所有的表:SHOW TABLES;三、创建表create table 表名( 字段名 类型(长度), 字段名 类型(长度原创 2021-10-03 12:16:30 · 97 阅读 · 0 评论 -
【MySQL学习笔记】MySQL原理---库的基本操作
一、显示显示所有的仓库:SHOW DATABASES;二、创建数据库创建一个学生库:create database 库名;CREATE DATABASE student;强制使用关键字(不建议):create database ‘强制库名’;CREATE DATABASE 'database';先检查数据库是否存在,再创建:create database if not exists ‘强制库名’;CREATE DATABASE IF NOT EXISTS 's原创 2021-10-03 11:35:14 · 90 阅读 · 0 评论 -
【MySQL学习笔记】MySQL原理---安装连接与配置
一、安装方式数据库选择:选择与公司业务相关的选择最新的稳定型版本安装Server only——>端口3306——>配置环境变量二、终端选择windows TerminalHyper三、服务启动Mysql是典型的C/S架构client 客户端通过命令去访问/操作 数据库server 服务端Mysql server[Mysql5.7版本下]开始服务:net start Mysql57停止服务:net stop Mysql57四、连原创 2021-10-03 11:21:44 · 172 阅读 · 0 评论