mysql
Jamie Chyi
清风
展开
-
MySQL中的@i:=@i+1用法详解
接下来,我们从"users"表格中选择姓名和ID,并通过@i:=@i+1来生成一个递增的序列号。此外,@i:=@i+1是在查询过程中实时计算的,而不是在表格中存储递增的序列号。假设我们有一个名为"users"的表格,其中包含用户的姓名和ID。是一个非常有用的表达式,用于在查询中生成一个递增的序列号。来初始化用户变量@i。这是因为MySQL在处理FROM子句时,会按顺序执行子查询和表格之间的连接操作,确保@i的初始值为0。正如你所看到的,通过@i:=@i+1,我们成功地为每个用户生成了一个递增的序列号。原创 2023-05-17 13:17:16 · 3048 阅读 · 0 评论 -
灵活排序策略:发现 MySQL 中的 ORDER BY IF 和 ORDER BY IN
通过灵活地利用这些排序方式,我们可以满足各种不同的排序需求,使查询结果更符合我们的预期。的值是否在指定的一组值中进行排序。如果值在这组值中,则排序顺序会被提到前面,否则会被放到后面。这样可以按照指定的一组值对结果进行排序。然而,有时我们需要使用一些特殊的排序方式来满足我们的需求,比如。我们可以利用这个关键字对查询结果进行排序。我们可以利用这个函数对查询结果进行排序。当我们需要对 MySQL 查询结果进行排序时,可以使用。这样可以根据指定的条件对结果进行灵活的排序。可以基于一组值对查询结果进行排序。原创 2023-05-17 12:43:38 · 985 阅读 · 1 评论 -
SQL技巧:构建一个包含过去30天日期的虚拟表
【代码】mysql如何构建最近30天的虚拟表。原创 2023-05-07 18:13:10 · 307 阅读 · 2 评论 -
让安装变简单:Linux下安装Mysql一篇文章搞定
下载方式一https://dev.mysql.com/downloads/mysql/5.7.html下载方式二:2、进行解压缩解压后的文件夹名字太长,可以进行重命名3、一些相关配置进入mysq-5.7.36目录下,新建一个data文件夹赋予权限:创建用户、组信息修改文件,以下是全部内容,注意路径改成你自己的安装路径即可进入mysql5.7.36的bin目录下面执行以下命令(注意:路径修改你自己的)对mysql默认生成密码进行查看(等会登陆需要用)添加软连接->为了我们在任意目录都可原创 2022-06-22 13:33:33 · 577 阅读 · 2 评论 -
NodeJS对mysql数据库的简单操作
1、打开软件新建一个空的文件夹2、然后引入mysql依赖npm install mysql完成后对应文件夹下会生成一个node_modules的文件夹,我们不需要去管它3、编写mysql.js文件// 导入mysql依赖const mysql = require("mysql")// 获取Connection对象const connection = mysql.createConnection({ host:'127.0.0.1', // 用户名 user:'roo原创 2022-02-23 18:22:16 · 1600 阅读 · 1 评论 -
sql_存储过程、函数、分支、循环
1.存储过程一、创建 ★create procedure 存储过程名(参数模式 参数名 参数类型)begin存储过程体end注意:1.参数模式:in、out、inout,其中in可以省略2.存储过程体的每一条sql语句都需要用分号结尾二、调用call 存储过程名(实参列表)举例:调用in模式的参数:call sp1(‘值’);调用out模式的参数:set @name; call sp1(@name);select @name;调用inout模式的参数:set @name=值; c原创 2021-07-23 06:49:54 · 1493 阅读 · 0 评论 -
mysql_视图与变量
1.视图一、含义mysql5.1版本出现的新特性,本身是一个虚拟表,它的数据来自于表,通过执行时动态生成。好处:1、简化sql语句2、提高了sql的重用性3、保护基表的数据,提高了安全性二、创建create view 视图名as查询语句;三、修改方式一:create or replace view 视图名as查询语句;方式二:alter view 视图名as查询语句四、删除drop view 视图1,视图2,…;五、查看desc 视图名;show create转载 2021-07-23 06:46:16 · 922 阅读 · 0 评论 -
mysql_TCL语言(事务)
一、含义事务:一条或多条sql语句组成一个执行单位,一组sql语句要么都执行要么都不执行二、特点(ACID)A 原子性:一个事务是不可再分割的整体,要么都执行要么都不执行C 一致性:一个事务可以使数据从一个一致状态切换到另外一个一致的状态I 隔离性:一个事务不受其他事务的干扰,多个事务互相隔离的D 持久性:一个事务一旦提交了,则永久的持久化到本地三、事务的使用步骤 ★了解:隐式(自动)事务:没有明显的开启和结束,本身就是一条事务可以自动提交,比如insert、update、delete显转载 2021-07-22 20:38:38 · 116 阅读 · 0 评论 -
mysql_ddl(库、表、数据类型、常见约束)
1.库的管理一、创建库create database 【if not exists】 库名【 character set 字符集名】;二、修改库alter database 库名 character set 字符集名;三、删除库drop database 【if exists】 库名;2.表的管理一、创建表 ★create table 【if not exists】 表名(字段名 字段类型 【约束】,字段名 字段类型 【约束】,。。。字段名 字段类型 【约束】)二、修改表1.转载 2021-07-22 14:08:42 · 177 阅读 · 0 评论 -
sql_插入,修改,删除
1.插入一、方式一语法:insert into 表名(字段名,…) values(值,…);特点:1、要求值的类型和字段的类型要一致或兼容2、字段的个数和顺序不一定与原始表中的字段个数和顺序一致但必须保证值和字段一一对应3、假如表中有可以为null的字段,注意可以通过以下两种方式插入null值①字段和值都省略②字段写上,值使用null4、字段和值的个数必须一致5、字段名可以省略,默认所有列二、方式二语法:insert into 表名 set 字段=值,字段=值,…;两种方式原创 2021-07-22 13:01:14 · 715 阅读 · 0 评论 -
mysql_分页、联合查询
1.分页查询一、应用场景当要查询的条目数太多,一页显示不全二、语法select 查询列表from 表limit 【offset,】size;注意:offset代表的是起始的条目索引,默认从0卡死size代表的是显示的条目数公式:假如要显示的页数为page,每一页条目数为sizeselect 查询列表from 表limit (page-1)*size,size;2.联合查询一、含义union:合并、联合,将多次查询结果合并成一个结果二、语法查询语句1union 【原创 2021-07-22 12:11:40 · 531 阅读 · 0 评论 -
mysql_子查询
一、含义嵌套在其他语句内部的select语句称为子查询或内查询,外面的语句可以是insert、update、delete、select等,一般select作为外面语句较多外面如果为select语句,则此语句称为外查询或主查询二、分类1、按出现位置select后面:仅仅支持标量子查询from后面:表子查询where或having后面:标量子查询列子查询行子查询exists后面:标量子查询列子查询行子查询表子查询2、按结果集的行列标量子查询(单行子查询):结果集为一行一列原创 2021-07-22 11:13:59 · 181 阅读 · 0 评论 -
mysql_连接查询
一、含义当查询中涉及到了多个表的字段,需要使用多表连接select 字段1,字段2from 表1,表2,...;笛卡尔乘积:当查询多个表时,没有添加有效的连接条件,导致多个表所有行实现完全连接如何解决:添加有效的连接条件二、分类按年代分类: sql92: 等值 非等值 自连接 也支持一部分外连接(用于oracle、sqlserver,mysql不支持) sql99【推荐使用】 内连接 等值 非等值 自连接 外连接 左外 右原创 2021-07-22 09:19:26 · 159 阅读 · 0 评论 -
mysql_分组查询
一、语法select 分组函数,分组后的字段from 表【where 筛选条件】group by 分组的字段【having 分组后的筛选】【order by 排序列表】二、特点使用关键字筛选的表位置分组前筛选where原始表group by的前面分组后筛选having分组后的结果group by 的后面1.分组函数做条件肯定是放在having字句中。2.能用分组前筛选的,就优先考虑分组前筛选3.group by字句支持单个字段分组,多个字段原创 2021-07-22 08:11:31 · 124 阅读 · 0 评论 -
mysql常见函数
一、概述功能:类似于java中的方法好处:提高重用性和隐藏实现细节调用:select 函数名(实参列表);二、单行函数1、字符函数concat:连接substr:截取子串upper:变大写lower:变小写replace:替换length:获取字节长度trim:去前后空格lpad:左填充rpad:右填充instr:获取子串第一次出现的索引2、数学函数ceil:向上取整round:四舍五入mod:取模floor:向下取整truncate:截断rand:获取随机数,返转载 2021-07-21 20:39:46 · 149 阅读 · 0 评论 -
mysql排序查询
一、语法select 查询列表from 表where 筛选条件order by 排序列表 【asc}desc】二、特点1、asc :升序,如果不写默认升序 desc:降序2、排序列表 支持 单个字段、多个字段、函数、表达式、别名3、order by的位置一般放在查询语句的最后(除limit语句之外).........原创 2021-07-21 15:15:00 · 124 阅读 · 0 评论 -
mysql条件查询
一、语法select 查询列表from 表名where 筛选条件二、筛选条件的分类1、简单条件运算符<、 =、>、 <>、 !=、 >=、 <=、 <=>安全等于2、逻辑运算符&& and|| or! not3、模糊查询like:一般搭配通配符使用,可以判断字符型或数值型通配符:%任意多个字符,_任意单个字符between andinis null /is not null:用于判断null值普通原创 2021-07-21 13:51:08 · 123 阅读 · 0 评论 -
mysql基础查询
一、语法select 查询列表from 表名;二、特点1、查询列表可以是字段、常量、表达式、函数,也可以是多个2、查询结果是一个虚拟表三、示例1、查询单个字段select 字段名 from 表名;2、查询多个字段select 字段名,字段名 from 表名;3、查询所有字段select * from 表名4、查询常量select 常量值;注意:字符型和日期型的常量值必须用单引号引起来,数值型不需要5、查询函数select 函数名(实参列表);6、查询表达式select原创 2021-07-21 13:37:18 · 125 阅读 · 0 评论 -
mysql的常见命令与语法规范
(一)mysql常见命令1.查看当前所有的数据库show databases;2.打开指定的库use 库名;3.查看当前库的所有表show tables;4. 查看其他库的所有表show tables from 库名; 5.创建表create table 表名( 列名 列类型, 列名 列类型, ...);6.查看表结构desc 表名;7.查看服务器的版本方式一:登录到mysql的服务端select version();方式二:没有登录到mysql的服务端mysql原创 2021-07-20 20:39:57 · 167 阅读 · 0 评论 -
MySQL的介绍
一、MySQL的背景前身属于瑞典的一家公司,MySQL AB08年被sun公司收购09年sun被oracle收购二、MySQL的优点1、开源、免费、成本低2、性能高、移植性也好3、体积小,便于安装三、MySQL的安装属于c/s架构的软件,一般来讲安装服务端企业版社区版四、MySQL服务的启动和停止方式一:通过命令行net start 服务名net stop 服务名方式二:计算机——右击——管理——服务五、MySQL服务的登录和退出登录:mysql 【-h 主机名 -P 端原创 2021-07-20 20:20:33 · 383 阅读 · 0 评论 -
数据库的相关概念
数据库的相关概念一、数据库的好处1、可以持久化数据到本地2、结构化查询二、数据库的常见概念 ★1、DB:数据库,存储数据的容器2、DBMS:数据库管理系统,又称为数据库软件或数据库产品,用于创建或管理DB3、SQL:结构化查询语言,用于和数据库通信的语言,不是某个数据库软件特有的,而是几乎所有的主流数据库软件通用的语言三、数据库存储数据的特点1、数据存放到表中,然后表再放到库中2、一个库中可以有多张表,每张表具有唯一的表名用来标识自己3、表中有一个或多个列,列又称为“字段”,相当于ja原创 2021-07-20 15:46:59 · 159 阅读 · 0 评论