首页 > 数据库 >Mysql

Mysql

时间:2023-10-04 20:33:34浏览次数:52  
标签:函数 age Mysql YES NULL order SELECT

目录

命令行

select database();   --查看当前的使用的数据库
use student; -- 选择一个数据库
show tables; --查询当前数据库有哪些表


mysql> desc `order`;  -- 查看表结构
+--------------+--------------+------+-----+---------+----------------+
| Field        | Type         | Null | Key | Default | Extra          |
+--------------+--------------+------+-----+---------+----------------+
| id           | int(11)      | NO   | PRI | NULL    | auto_increment |
| order_no     | varchar(20)  | NO   | UNI | NULL    |                |
| user_id      | int(11)      | NO   | MUL | NULL    |                |
| delete_time  | int(11)      | YES  |     | NULL    |                |
| create_time  | int(11)      | YES  |     | NULL    |                |
| total_price  | decimal(6,2) | NO   |     | NULL    |                |
| status       | tinyint(4)   | NO   |     | 1       |                |
| snap_img     | varchar(255) | YES  |     | NULL    |                |
| snap_name    | varchar(80)  | YES  |     | NULL    |                |
| total_count  | int(11)      | NO   |     | 0       |                |
| update_time  | int(11)      | YES  |     | NULL    |                |
| snap_items   | text         | YES  |     | NULL    |                |
| snap_address | varchar(500) | YES  |     | NULL    |                |
| prepay_id    | varchar(100) | YES  |     | NULL    |                |
+--------------+--------------+------+-----+---------+----------------+
14 rows in set (0.00 sec)

show create table `order`;  # 查询创建表时的sql语句



# 加载sql文件:
# 方式一:
source xxx.sql
# 方式二,  school为database:
mysql -uroot -p123456 school < student.sql

DQL 执行顺序

验证1:

SELECT name,age myAge from emp  where myAge > 15 order by age asc;

执行失败:

select 对 age 起别名,但是where 子句 识别不到age的别名

SELECT name,age myAge from emp  where age > 15 order by myAge asc;

执行成功:

order by 子句可以识别到select 子句 age的别名,说明 select 的执行顺序在 where 子句 后 order by 子句前

函数

字符串函数

案例:企业员工的工号,统一为5位数,目前不足5位数的全部在前面补0,比如: 1号员工的工号应该为00001

update emp set workno = LPAD(workno,5,'0');

效果:

需要注意的是workno 需要是varchar类型

数值函数

案例:通过数据库的函数,生成一个6位随机验证码

# 生成一个0-1的随机数
SELECT rand();

# rand() * 1000000 夸大10000000 倍,保留0位小数
SELECT round(rand()*1000000,0);

# 不够6位左补0
SELECT LPAD(round(rand()*1000000,0),6,'0');

日期函数

案例:查询所有员工的入职天数,并根据入职天数倒序排序

select name, DATEDIFF(CURDATE(),entrydate) AS join_days from emp order by join_days desc;

结果:

流程函数

第三个函数案例:成绩表各门成绩>=85,展示优秀;>=60 展示及格;否则展示不及格

SELECT
	id,
	NAME,
	(
		CASE
		WHEN math >= 85 THEN
			'优秀'
		WHEN math>= 60 THEN
			'及格'
		ELSE
			'不及格'
		END
	) '数学',
	(
		CASE
		WHEN english >= 85 THEN
			'优秀'
		WHEN english>= 60 THEN
			'及格'
		ELSE
			'不及格'
		END
	) '英语',
	(
		CASE
		WHEN chinese >= 85 THEN
			'优秀'
		WHEN chinese>= 60 THEN
			'及格'
		ELSE
			'不及格'
		END
	) '语文'
FROM
	score;

执行结果:

第四个函数 案例:如果dept_id 等于1,展示开发,如果为2展示测试,其他展示为前端

SELECT 
name,
(case dept_id when 1 then '开发' when 2 then '测试' else '前端' end) '职位' 
from  emp;

执行结果:

标签:函数,age,Mysql,YES,NULL,order,SELECT
From: https://www.cnblogs.com/czzz/p/17742701.html

相关文章

  • MySQL数据库多表关联查询
    本文列举数据库的多表关联查询及实际使用,以员工表和部门表作为举例:部门表:dept点击查看创建部门表sqlcreate table `dept`  (  `deptno` int(2) not null,  `dname` varchar(14),  `loc` varchar(13),  primary key (`deptno`));员工表:emp点击查看创建......
  • MySQL学习(3)B+树索引是如何快速查询的
    前言我们已经知道在磁盘中,有很多索引页,这些页并非在物理结构上相连接,而是通过双向链表关联。如果要查找一条数据,需要通过页目录中的槽,通过二分法定位到分组再进行遍历查找。比如下面这样:SELECT[查询列表]FROM表名WHERE条件; 假设表中只有一个页,在查找记录时,可以根据搜......
  • 什么是Mysql的日志
    Mysql日志体系1错误日志​ -默认开启​ 错误日志是MySQL中最重要的日志之一,它记录了当mysqld启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,建议首先查看此日志。可通过下面命令查看错误日志的存储位置:s......
  • 简单介绍一下 Mysql 存储引擎
    1入门本文去浅浅的探讨一下mysql数据库的存储引擎。数据库存储引擎是数据库底层软件组件,数据库管理系统使用数据引擎进行创建、查询、更新和删除数据操作。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎还可以获得特定的功能。现在许多数......
  • Docker搭建Mysql主从机制
    Mysql主从复制1基础准备由于家境贫寒没有那么多的云资源供我操作,只能使用docker进行模拟了。拉取镜像简单得很就先不谈了。直接开整。以下操作基于mysql:5.7进行一主二从配置。2主库配置运行容器dockerrun-p3306:3306--namemysql-slaver-2-eMYSQL_ROOT_PASSWOR......
  • Mysql - 函数
    目录字符串函数数值函数日期函数字符串函数案例:企业员工的工号,统一为5位数,目前不足5位数的全部在前面补0,比如:1号员工的工号应该为00001updateempsetworkno=LPAD(workno,5,'0');效果:需要注意的是workno需要是varchar类型数值函数案例:通过数据库的函数,生成一个6位......
  • IntelliJ IDEA 解决连接MYSQL失败问题
    省流版:mysql-connector-java-8.0.13.jar应该出现在下面三个地方:①web-WEB-INF-lib②Database连接时(一般会自动下载)③apache-tomcat-8.0.32-lib 在自己的项目里找到web-WEB-INF-lib,检查一下有没有驱动包  如果没有mysql-connector-java-8.0.13.jar需要下载一个然后在F......
  • 2.MySQL的基本命令
    netstartmysql数据库重启netstopmysql强行停止数据库服务mysql-uroot-p进入数据库exit退出-u代表用户名,这之间可以用空格,空格也代表一个字符,但是仅对密码有效-p代表密码p后面如果跟空格也会算作一个字符......
  • java——mysql随笔——运维——分库分表&MyCat
    分库分表:                    介绍:                    拆分方式:                                     ......
  • Java JDBC连接数据库的CURD操作(JDK1.8 + MySQL8.0.33 + mysql-connector-java-8.0.27-
    JDBC概述JDBC(JavaDatabaseConnectivity)是一个独立于特定数据库管理系统、通用的SQL数据库存取和操作的公共接口(一组API),定义了用来访问数据库的标准Java类库,(java.sql,javax.sql)使用这些类库可以以一种标准的方法、方便地访问数据库资源。JDBC为访问不同的数据库提供了一......