MySQL学习笔记(2)

这篇博客介绍了MySQL中的数据查询操作,包括创建orders表、修改user表结构添加外键、插入数据、查询所有和部分列、列别名设置、计数、条件过滤以及使用in、between、not操作符。此外,还讲解了like运算符进行模式匹配,并展示了如何使用limit限制查询结果的数量。
摘要由CSDN通过智能技术生成

MySQL学习笔记(2)

数据查询

新建表orders

create table if not exists orders 
(
	oid int primary key auto_increment,
	money decimal(10,3)
) Engine=InnoDB  default charset=utf8mb4;

修改表user的结构,添加外键

alter table user add column oid int;
alter table user add foreign key  orders (oid)  references orders (oid);

向user表中插入数据:

insert into user(username,oid)  values('张三',1) on duplicate key update oid =values(oid);

查询所有的列,使用*

select *from user;

查询部分列,列和列之间用逗号隔开

select userid, sex from user;

列和列之间不用逗号隔开则是为列取别名

//给列取别名
select username 姓名,sex 性别 from user;
//给列取别名 使用as
select username as 姓名, sex as 性别 from user;

计数

select count(*) 人数 from user;

条件过滤

select username 姓名,sex 性别 from user where userid>10 and oid>0;

所有的过滤条件都是通过where子句给出的,除整型数和浮点数以外,其他所有内容都应该放在引号内

操作符

  • in:检查一个值是否在一组值中;
select *from user where userid in(20,21,23);
  • between ……and:检查一个值是否在一个范围内;
select *from orders where money between 0  and 10;
  • not:使用not运算符来否定结果
select *from orders where money not between 5 and 10;
  • 简单模式匹配

使用like 运算符来实现简单的模式匹配。使用下划线(_)来精准匹配一个字符,使用(%)来匹配任意数量的字符

select *from user where username like '张_';
select *from user where username like '张%';

思考:如何匹配字符串中的%;

在字符串中,某些序列具有特殊含义。这些序列均用反斜线(‘\’)开始,即所谓的转义字符。MySQL识别下面的转义序列:

\0ASCII 0(NUL)字符。
单引号(‘’’)。
"双引号(‘"’)。
\b退格符。
\n换行符。
\r回车符。
\ttab字符。
\ZASCII 26(控制(Ctrl)-Z)。该字符可以编码为‘\Z’,以允许你解决在Windows中ASCII 26代表文件结尾这一问题。(如果你试图使用mysql db_name < file_name,ASCII 26会带来问题)。
\反斜线(‘\’)字符。
%‘%’字符。参见表后面的注解。
_‘_’字符。参见表后面的注解。

这些序列对大小写敏感。例如,‘\b’解释为退格,但‘\B’解释为‘B’。

  • 限定结果集

使用limit限定

select *from  user limit 10;# limt 0 10 1~10
//In other words, LIMIT row_count is equivalent to LIMIT 0, row_count.
SELECT * FROM tbl LIMIT 5,10;  # Retrieve rows 6-15
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值