MySQL数据库
文章平均质量分 55
nuist__NJUPT
本硕计算机专业,硕士研究生在读,目前快手集团预入职员工,曾于阿里子公司哈啰出行等实习,已发SCI论文,拥有多项发明和实用新型专利,华为杯等多项国家级和省级竞赛获奖,喜欢编程,leetcode刷题狂,擅长Java、Python、JS、Matlab、C等编程语言,前端、后端、移动端都能写,算法也会一些,热爱运动,热爱生活!
展开
-
带你1小时写完牛客SQL入门39题
尽管不同的数据库系统在SQL的具体实现上可能有差异,但标准SQL语法具有广泛的适用性,使得程序员能够在不同环境下迁移和适应。因此,无论是在日常开发维护、性能优化还是复杂业务场景下,编写高质量的SQL语句都是衡量一个程序员专业素养和技术实力的重要指标。:几乎所有的软件开发项目都需要与数据库打交道,掌握SQL是现代程序员的基本功,也是完成项目任务的基础能力。:SQL是操作关系型数据库的标准工具,程序员通过SQL实现与数据库的交互,包括查询、增删改查等基本操作。原创 2024-01-31 21:52:26 · 1023 阅读 · 0 评论 -
MySQL进阶之锁
锁是计算机中协调多个进程或线程并发访问资源的一种机制。在数据库中,除了传统的计算资源竞争之外,数据也是一种提供给许多用户共享的资源,如何保证 数据并发访问的一致性和有效性是数据库必须解决堆的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。故,锁对数据库而言,显得极为重要。原创 2023-02-26 18:00:20 · 385 阅读 · 0 评论 -
MySQL进阶篇之视图/存储过程/触发器
今天我们主要来快速学习视图,存储过程,触发器四个方面的内容,一起加油学习吧,还有半年就有秋招了,要加快速度了,迫在眉睫,冲吧,兄弟们。原创 2023-02-24 22:25:38 · 710 阅读 · 0 评论 -
MySQL进阶篇之SQL优化
我们看一下SQL的优化,主要从7个方面学习SQL优化,分别为插入数据,主键优化,order by优化,group by优化,limit优化,count优化,update优化等,一起来快速学习一下吧。原创 2023-02-22 20:30:30 · 646 阅读 · 0 评论 -
MySQL进阶篇之MySQL索引
今天主要学习MySQL索引,不过主要是使用Linux系统使用MySQL,主要是先在Linux环境下按照MySQL,然后演示索引的相关操作,介绍了索引的底层结构,索引的分类及语法,索引的性能分析,索引的使用规则,索引的设计原则等。原创 2023-02-22 16:37:47 · 349 阅读 · 0 评论 -
MySQL进阶篇之MySQL存储引擎
存储引擎是数据库的核心,是基于表的,它是存储数据,建立索引,更新和查询数据等技术的实现方式。创建表的时候可以指定相应的存储引擎,MySQL支持多种存储引擎,其中,默认的存储引擎是InnoDB,使用SHOW engines可以查看引擎。原创 2023-02-21 21:48:06 · 327 阅读 · 0 评论 -
MySQL数据库索引
MySQL数据库索引1-索引简介索引:是在数据库表的字段上添加的,是为了提高查询效率存在的一种机制。一张表的一个字段可以添加一个索引,多个字段联合起来也可以添加一个索引,索引相当于一本书的目录,是为了缩小扫描范围而存在的一种机制。先通过索引定位位置,做局部扫描,缩小扫描的范围,快速的查找。MySQL查询通过两种方式:1-全表扫描2-根据索引检索在MyQSL中索引也是需要排序的,并且这个排序和TreeSet底层数据结构相同,TreeSet底层是一个自平衡二叉树,在MySQL中索引是一个B+树的原创 2021-11-22 13:51:43 · 574 阅读 · 0 评论 -
MySQL数据库的导出和导入
MySQL数据库的导出和导入MySQL数据库导出:在windows的DOS命令窗口,将数据库spring导出到D盘:mysqldump spring>D:\spring.sql -uroot -p123456导出数据库中指定的表:mysqldump spring 表名>D:\spring.sql -uroot -p123456MYSQL数据库导入:先登录到MySQL数据库。然后创建数据库:create database spring;使用数据库: use spring;最后原创 2021-11-22 11:54:24 · 531 阅读 · 0 评论 -
数据库设计三范式
数据库设计三范式数据库设计范式:数据库表的设计依据,教你怎么样进行数据库表的设计。第一范式:要求在任何一张表上必须有主键,每一个字段原子性不可再分。最核心,最重要的范式,所有表的设计都要满足。第二范式:建立在第一范式的基础之上,要求所有非主键字段完全依赖主键,不要产生部分依赖。比如:将多对多的关系,用三张表表示。第三范式:建立在第二范式基础之上,要求所有非主键字段直接依赖主键,不要产生传递依赖。一对多的设计,两张表,在多的表加外键。设计数据库表的时候,按照以上范式进行,可以避免数据的冗余和空间的浪原创 2021-11-20 21:52:27 · 295 阅读 · 0 评论 -
MySQL数据库的视图
MySQL数据库的视图视图:虚拟表,和普通表一样使用。MySQL5.1出现的新特性,是通过表动态生成的数据。视图是虚拟的表,行和列的数据来定义视图的查询中使用的表,只保存SQL逻辑,不保存查询结果。应用场景:1-多个地方用到同样的查询结果2-该查询结果使用的SQL语句比较复杂一、视图的创建语法:create view 视图名;查询姓名中包含a的员工名,部门名,工种信息:先创建视图,在调用视图完成查找 #查询姓名中包含a的员工名,部门名,工种信息 create view myvi原创 2021-11-20 21:14:07 · 507 阅读 · 0 评论 -
MySQL数据库-事务
MySQL数据库-事务TCL:即transactinal control language ,事务控制语言。什么是事务?一个或一组SQL语句组成的一个执行单元,这个执行单元要么全部执行,要么全部不执行。一个完整的业务逻辑,一个最小的不可分割的单元。在执行单元中每个SQL语句都是相互依赖的,整个单独的单元作为不可分割的整体。如果单元中的每条执行语句一旦执行失败或产生错误,整个单元将会回滚,即回到原始状态,如果单元中所有SQL语句都被执行成功,则事务则被顺利执行。比如:A用户向B用户转账100元,需要两原创 2021-11-20 16:08:50 · 914 阅读 · 0 评论 -
MySQL基础-标识列
MySQL基础-标识列标识列又称为自增长列,可以不用手动插入值,系统提供默认的增长序列。一、创建表时设置标识列主键自增,从1开始:create table tab_identity( id int primary key auto_increment, name varchar(20) not null);默认自增步长为1,我们设置为3 set auto_increment_increment = 3 ;注意:1-标识列必须和key搭配,一般和主键搭配。2-一个表中至多原创 2021-11-20 10:35:27 · 684 阅读 · 0 评论 -
MySQL基础之常见约束
MySQL基础之常见约束常见约束,其实就是一种限制,为了保证表中数据的准确性和可靠性。MySQL中的六大约束1-not null:非空约束,用于保证该字段的值不能为空2-default:默认约束,保证该字段有默认值3-primary key:主键约束,保证字段非空且唯一4-unique:保证该字段的值唯一,但是可以为空5-check:检查约束,MySQL不支持6-foreign key:外键约束,用于限制两个表的关系,保证该字段的值必须来自主表关联列的值,在从表添加外键限制,用于引用主表某一原创 2021-11-20 10:09:38 · 413 阅读 · 0 评论 -
MySQL基础之常见数据类型
MySQL基础之常见数据类型原则:所选择的类型越简单越好,所需的类型的范围越小越好。一、数值型:整数:整型有如下特点:1-如果不设置有符号或者无符号,整型默认是有符号的,如果设置无符号,需要加unsigned2-如果插入的数值超过整型范围,会报out of range异常,同时会插入临界值3-如果不设置长度,系统会设置默认的长度小数:定点数和浮点数浮点数:float(M,D)double(M,D)定点数:decimal(M,D)或者dec(M,D)特点:1-M表示整数部位位原创 2021-11-16 21:39:20 · 1497 阅读 · 0 评论 -
MySQL基础之数据定义语言
MySQL基础之数据定义语言库和表的管理创建:create修改:alter删除:drop一、库的管理1.创建数据库语法:create database 数据库名;防止该数据库已经存在,增加容错性,可以使用改语法创建数据库:create database if not exists 数据库名;2.修改数据库一般不修改数据库,修改数据库可能导致数据丢失。3.数据库的删除drop database if exists 数据库名 ;二、表的管理1.表的创建create table原创 2021-11-16 11:40:00 · 319 阅读 · 0 评论 -
MySQL基础之数据操纵语言-插入、修改、删除
MySQL基础之数据操纵语言-插入、修改、删除插入语句语法:insert into 表名(列名,…) values(值1,…) ;1-插入的值的类型要与列的类型一致,如果插入全部列,可以将列名省略insert into beautyvalues(13, '唐艺昕', '女', '1992-03-23', '123342343', null, 2);2-不可以为null的值必须插入,可以为null的值可以插入null,也可以不插入3-指定必须插入的列后,列的顺序可以颠倒4-列数和值的个数必须原创 2021-11-15 21:12:33 · 446 阅读 · 0 评论 -
MySQL基础之联合查询
MySQL基础之联合查询union : 联合 ,将多条查询语句的结果合并成一个结果。查询部门编号大于90或者邮箱包含a的员工信息:常规查询:#查询部门编号大于90或者邮箱包含a的员工信息 select * from employees where department_id > 90 or email like '%a%';联合查询: select * from employees where department_id > 90 union selec原创 2021-11-14 21:32:46 · 341 阅读 · 0 评论 -
MySQL基础之分页查询
MySQL基础之分页查询应用场景:当要显示的数据一页显示不全,需要分页提交SQL请求。语法规则:select 查询列表from 表where 筛选条件group by 分组字段having 分组后的筛选order by 排序的字段limit offset, size;offset:要显示条目的其实索引,从0开始。size:要显示的条目数。查询前5条员工信息:#查询前5条员工信息select *from employeeslim原创 2021-11-13 17:59:29 · 284 阅读 · 0 评论 -
MySQL基础之子查询
MySQL基础之子查询子查询:出现在其它语句中的select语句,我们都称为子查询或者内查询。外部的查询语句称为主查询或者外查询。1-单行子查询查询比Abel工资高的员工信息: #查询比Abel工资高的员工信息 select * from employees where salary > ( select salary from employees where last_name = 'Abel');返回job_id与141号员工相同,sa原创 2021-11-13 15:12:54 · 778 阅读 · 0 评论 -
MySQL基础之连接查询
MySQL基础之连接查询使用下面SQL语句创建数据库girls,并在数据库中创建三张表admin,beauty,boys,并插入相关数据。CREATE DATABASE `girls`; USE `girls`; /*Table structure for table `admin` */ DROP TABLE IF EXISTS `admin`; CREATE TABLE `admin` ( `id` int(11) NOT NULL AUTO_INCREMENT, `use原创 2021-11-12 20:16:47 · 1125 阅读 · 0 评论 -
MySQL基础篇之分组查询
MySQL基础篇之分组查询简单分组函数的使用:#简单分组函数的使用 select max(salary) from employees; select min(salary) from employees; select avg(salary) from employees; select count(salary) from employees; select sum(salary) from employees; 也可以这样写:select max(salary) 最高工资原创 2021-11-10 14:49:59 · 877 阅读 · 0 评论 -
MySQL基础之常见函数的使用
MySQL基础之常见函数的使用1-字符函数length获取参数的字节个数:#length获取参数的字节个数 select length('王国栋123');concat拼接字符串: #concat拼接字符串 select concat(last_name,'_',first_name) as 姓名 from employees;将姓变成大写,名变成小写,然后拼接:#将姓变成大写,名变成小写,然后拼接 select concat(upper(last_name)原创 2021-11-10 10:39:18 · 442 阅读 · 0 评论 -
MySQL基础篇之基础查询、条件查询、模糊查询、排序查询
MySQL基础篇之数据查询语言首先使用如下SQL语句创建数据库,并建立四张表,每个表中插入相应的数据。四张表的结构如下:SQL语句如下:USE `myemployees`; /*Table structure for table `departments` */ DROP TABLE IF EXISTS `departments`; CREATE TABLE `departments` ( `department_id` int(4) NOT NULL AUTO_INCREMENT,原创 2021-11-08 20:14:43 · 367 阅读 · 0 评论 -
MySQL基础篇之常用基本命令
MySQL基础篇之常用基本命令DB:database,数据库,存储数据的仓库,保存一系列有组织的数据。DBMS:数据库管理系统,又称为数据库软件,用于管理数据库中的数据。SQL:结构化查询语言,用来和DBMS进行通信。一般是将数据放到表中,然后将表放到数据库中,由DBMS来管理。表具有一些特性,定义了数据在表中如何存储。表由列组成,每列称为字段,每个表由一列或者多列组成,表中的数据按行存储。DBMS分为两大类:1-基于共享文件系统的DBMS,如Access2-基于C/S结构的DBMS如,My原创 2021-11-07 17:32:54 · 112 阅读 · 0 评论 -
Java 数据库篇 访问MySQL数据库
Java 数据库篇 访问MySQL数据库准备阶段:开发环境:MySQL+eclipse+Navicat Premium驱动程序下载官网:http://dev.mysql.com/downloads/connector/可以自行下载,也可以问本博主要安装包,点赞关注,私聊我就可以了。准备工作完成后,我们就可以开始了。第一步,打开MySQL命令 窗口,输入口令后如图所示,口令就是你下载安装M...原创 2020-03-30 00:21:53 · 2692 阅读 · 0 评论