mysql数据库学习笔记一

一、数据库基本命令
启动停止数据库服务
net start 服务器名
net stop 服务名
mysql服务的登录和退出
登录:mysql -h主机名 -p端口号 -u用户名 -p密码
退出:exit
1.查看数据库
show databases
2.打开数据库
user 数据库名
3.查看表名
show tables 或 show tables from 数据库名
4.查看当前使用的数据库
select databases()
5.查看表结构
desc 表名
二、DQL语言的学习
1)基础查询
1.单字段查询
select 字段 from 表名
2.多字段查询
select 字段1,字段2 from 表名
3.查询所有字段
select from 表名
4.查询常量
select 100
select “name”
5.查询函数
select version()
6.起别名
select a as b from 表名 (注意⚠️as可以省略不写)
如果别名包含特殊符号,需要把别名加上双引号
7.去重-distinct
select distinct 字段名 from 表名
8.+号的作用
只能进行加法运算,不可以拼接字符串
9.拼接字符串-concat
select concat(字段名1,字段名2) as 别名 from 表名
2)条件查询
用where关键字
select from 表名 where +条件
1.按条件表达式筛选
条件运算符 大于号 小于号 大于等于号 小于等于号 恒等号 不等号
2.按逻辑表达式筛选
与 或 非(and or not)
3.模糊查询
like
between and
in
is null
3)排序查询
select from 表名 where 【条件筛选】 order by 字段名 (asc/desc)
4)常见函数
select 函数名(实参)from 表名
函数的分类
1.单行函数
concat length ifnull
1)字符函数
1⃣️length 获取参数值的字节个数
select length(“name”)
2⃣️concat 拼接字符串
select concat(字段名1,字段名2)
3⃣️upper lower 字母大小转换
substr substring 截取字符串
select substr(‘abc’,2) as result
4⃣️instr 返回字符串第一次出现的索引
5⃣️trim 去空格
select trim (“ 张三 ”)as 别名 from表名
6⃣️Lpad 用指定的字符进行左填充
select LPad(“张三”,10,“
”) as 别名
执行后显示
*****张三。10为字符串总长度
7⃣️replace 替换
select replace(“张三”,“张三”,“李四”)
2)日期函数
1⃣️now 当前日期➕时间
2⃣️curdate 返回系统当前日期
3⃣️curetime 返回当前时间
4⃣️获取年月日小时分钟秒
select year(now())
select month(now())
select date (now ())
在这里插入图片描述
在这里插入图片描述

3)数学函数
1⃣️round四舍五入
2⃣️ceil 向上取整
3⃣️floor向下取整
4⃣️truncate 截断
select truncate(1.2334,2)截断小数点后两位
5⃣️mod取余
select mod(10%3) 结果为1
4)其他函数
select version()
select user()
select databases()
5)流程控制函数
if函数
if else函数
select name ,if(name is null,“false”,“true”)from 表名
case函数
语法:
case 要判断的字段或表达式:
when 常量1 then 显示的值或语句;
when 常量2 then 显示的值或语句;
else 要显示的或语句
end

2.分组函数
关键字 group by
select 字段 from 表名 group by 字段名
对组结果进行筛选用having
注意⚠️分组前的筛选用where;分组后的筛选用having
分组函数做条件一定是用having
5).连接查询
当字段出现在多个表中需要进行连接查询
分类:
内连接(92年语法格式)
1.等值连接
select 字段1,字段2 from 表1,表2 where
表1.ID=表2.NID
(可以给表起别名)
2.非等值连接
3.自连接

外连接(99年语法格式)
语法格式:select 字段 from表1 别名【连接类型】 join 表2 别名 on连接条件 where 筛选条件
⚠️连接类型分别为内连接(inner)左外连接(left)右外连接(right)全外(full)交叉连接(cross)
⚠️外连接的应用场景:一个表中有,另一个表中没有记录!查询哪个表的信息哪个表就作为主表
1.左外连接

2.右外连接
3.全外连接

交叉连接
6)子查询
出现在其他语句的查询叫子查询
分类:
按子查询出现的位置
select 后面(仅仅支持标量子查询)
from 后面(支持表子查询)
where/having后面(标量子查询-单行;列子查询-多行;行子查询)⚠️重点
exists后面(相关子查询)
7)联合查询-UNION
多个表没有关联性,但查询列数必须一致,每一列的类型,顺序最好一致;联合查询有去重的作用,但是union all 可以避免去重

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

姑娘别秃头

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

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

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

打赏作者

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

抵扣说明:

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

余额充值