数据库表的相关操作

目录

一、数据库的基本操作

二、数据库的基本查询

一.分页查询

二、排序

1、排序ORDER BY 默认升序,ASC升序

 2、DESC降序排序

3、排序后进行分页

三、去除重复数据DISTINCT

四、条件查询WHERE  条件拼接AND逻辑与 OR逻辑或

1、控制转换IFNULL(expr1,expr2)

2、两个时间段相差天数DATEDIFF(expr1,expr2)

3、获取当前时间NOW() 

4、算数运算符

5、比较运算符

6、正则表达式:REGEXP

7、逻辑运算符

8、按位运算符

9、查询条件语句的执行顺序

三、数据库的高级查询

一、聚合函数

1、AVG()  求平均值

2、SUM() 求和

3、MAX() 求最大值

4、MIN() 求最小值

5、COUNT(*)   统计条数

6、聚合函数的注意事项

7、LENGHTH()统计字符串长度


一、数据库的基本操作

#显示数据库

SHOW DATABASES;

#创建数据库

CREATE DATABASE demo;

#删除数据库

DROP DATABASE demo;
USE demo;  #切换逻辑库

#创建数据表student

CREATE TABLE student (
    id INT UNSIGNED PRIMARY KEY,   #UNSIGNED无符号的整数,正整数    主键:无重复字段
    name VARCHAR ( 20 ) NOT NULL,
    sex CHAR ( 1 ) NOT NULL,
    birthday DATE NOT NULL,
    tel CHAR ( 11 ) NOT NULL,  #char固定长度
    remark VARCHAR ( 200 ) #备注
);

#插入一条数据
 

INSERT INTO student
VALUES
    ( 1, "李强", "男", "1995-12-20", "17788990089", NULL );

   

SHOW TABLES;#查看当前逻辑空间有什么表

#查看数据表的具体情况

DESC student;

#查看创建表语句

SHOW CREATE TABLE student;

#生成创建表SQL文

CREATE TABLE `student` (
  `id` int unsigned NOT NULL,
  `name` varchar(20) NOT NULL,
  `sex` char(1) NOT NULL,
  `birthday` date NOT NULL,
  `tel` char(11) NOT NULL,
  `remark` varchar(200) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci 

#删除数据表

DROP TABLE student;

二、数据库的基本查询

一.分页查询

#分页查询:SELECT * FROM 表名 LIMIT 起始位置,偏移量,

当前页从第一条数据开始,查20条数据

SELECT * FROM appuser LIMIT 0,20; 

二、排序

1、排序ORDER BY 默认升序,ASC升序

SELECT username,rule FROM appuser ORDER BY rule ASC; #ASC升序

 2、DESC降序排序

SELECT username,rule FROM appuser ORDER BY rule DESC;

3、排序后进行分页

SELECT * FROM appuser ORDER BY rule DESC,username ASC LIMIT 0,20; 

三、去除重复数据DISTINCT

对多条字段查询时,DISTINCT 查询将去除多条字段组合重复数据,且必须在第一个字段前加关键字。其他的语法都是错误的。

SELECT DISTINCT rule FROM appuser; 

四、条件查询WHERE  条件拼接AND逻辑与 OR逻辑或

#查询部门ID为50或者49,且状态为使用的状态
SELECT *
FROM appuser
WHERE  (deptid=50 OR deptid=49) AND state=1;  

1、控制转换IFNULL(expr1,expr2)

IFNULL(expr1,expr2) #将字段expr1的null值转换成expr2

2、两个时间段相差天数DATEDIFF(expr1,expr2)

DATEDIFF(expr1,expr2) #时间差expr1-expr2,相差的天数

3、获取当前时间NOW() 

NOW()  #获取当前时间

4、算数运算符

表达式

意义

例子

+

加法

1+2+3

减法

1-2-3

*

乘法

1*2*3

/

除法

30/5

%

求模

10%3

5、比较运算符

6、正则表达式:REGEXP

正则表达式:REGEXP ^[\\u4e00-\\u9fa5]{2,4}$    中文字符集,2个文字到4个文字

7、逻辑运算符

XOR两个结果一个为真,一个不为真,结果才为真

8、按位运算符

9、查询条件语句的执行顺序

三、数据库的高级查询

一、聚合函数

1、AVG()  求平均值

AVG()  求平均值     统计数字不要统计字符串

2、SUM() 求和

SUM() 求和

3、MAX() 求最大值

MAX() 求最大值

4、MIN() 求最小值

MIN() 求最小值   日期也可以求最大最小值

5、COUNT(*)   统计条数

COUNT(*)   统计条数

或者COUNT(列名)   统计非空数据的条数

6、聚合函数的注意事项

聚合函数不能出现在WHERE子句里,因为没有锁定数据源,是不能进行计算的。自相矛盾。

7、LENGHTH()统计字符串长度

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帮帮我365

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值