mysql必知必会(二)
2015-07-09 23:28
597 查看
sql中最常用的就是查询(select),下面对查询做下简单的总结。
在mysql必知必会(一)中少了更改表(alter),在这添加上。
1.更改表(alter)
添加一列
删除一列
添加唯一约束
添加默认值
添加非null约束
2.查询(select)
查询所有行
如果查询所有列应尽量避免使用通配符(*),因为这样会降低查询的性能。可以写全需要查询的字段。
去重复查询(distinct)
限制结果,用于分页(limit)
第一句表示显示前5行,第二句表示从11行开始,显示5行。第一行为0.
排序(order by ASC/DESC)
asc是升序,desc是降序。
order by 默认排序是升序,即可以省略asc,但是降序时必须加上desc,如果有多个降序列,每列都要加上desc。
过滤查询
过滤查询就是在where字句中指定过滤条件。
where 支持的条件操作符有:
= 等于
<> 不等于
! 不等于
< 小于
> 大于
<= 小于等于
>= 大于等于
between 在指定的两个值之间
其中还有逻辑操作符and,or,not和in。
注意:and的优先级比or高,如果想先处理or两边的过滤条件,可以加上括号()。
模糊查询
为在搜索字句中使用通配符,必须使用like操作符。
通配符有:
百分号(%),表示任何字符出现任何字数。
下划线(_),只能匹配单个字符。
不要过度使用like,如果其他操作符可以完成就使用其他操作符
通配符搜索使用的时间比较长
尽量不要把通配符放在where字句的开始处。
函数放在(三)中
在mysql必知必会(一)中少了更改表(alter),在这添加上。
1.更改表(alter)
添加一列
alter table user add tel char(11);
删除一列
alter table user drop column tel;
添加唯一约束
alter table user add constraint uk_name unique(name);
添加默认值
alter table alter password set default '123456';
添加非null约束
alter table user modify column name varchar(20) not null;
2.查询(select)
查询所有行
select * from user; select id,name,password from user;
如果查询所有列应尽量避免使用通配符(*),因为这样会降低查询的性能。可以写全需要查询的字段。
去重复查询(distinct)
select distinct name from user;
限制结果,用于分页(limit)
select name from user limit 5; select name from user limit 10,5;
第一句表示显示前5行,第二句表示从11行开始,显示5行。第一行为0.
排序(order by ASC/DESC)
select name,password from user order by id; select name,password from user order by id desc; select name,password from user order by name, tel; select name,password from user order by name desc, tel; select name,password from user order by name desc, tel desc;
asc是升序,desc是降序。
order by 默认排序是升序,即可以省略asc,但是降序时必须加上desc,如果有多个降序列,每列都要加上desc。
过滤查询
过滤查询就是在where字句中指定过滤条件。
where 支持的条件操作符有:
= 等于
<> 不等于
! 不等于
< 小于
> 大于
<= 小于等于
>= 大于等于
between 在指定的两个值之间
其中还有逻辑操作符and,or,not和in。
注意:and的优先级比or高,如果想先处理or两边的过滤条件,可以加上括号()。
select prod_name,prod_price from product where (id = 1001 or id =1002) and prod_price > 10; select prod_name,prod_price from product where id in(1001, 1002); select prod_name,prod_price from product where id not in(1001, 1002);
模糊查询
为在搜索字句中使用通配符,必须使用like操作符。
通配符有:
百分号(%),表示任何字符出现任何字数。
下划线(_),只能匹配单个字符。
不要过度使用like,如果其他操作符可以完成就使用其他操作符
通配符搜索使用的时间比较长
尽量不要把通配符放在where字句的开始处。
函数放在(三)中
相关文章推荐
- MYSQL学习笔记(三)
- [MySQL] - errno:150
- mysql之子查询
- mysql存储过程详解
- mysql的悲观锁和乐观锁
- mysql5.5.44 主从复制master and slave have equal MySQL server ids
- mysql数据库与web主机分离实验
- MySQL 插入中文乱码 及第三方视图软件显示中文乱码问题
- mysql并发基础知识
- MySQL 初步
- mysql拷贝表的几种方式
- mysql存储过程中sql的拼接
- MySQL数据类型及范围用法一览表
- mysql的一些关系
- PowerDesigner生成mysql字段comment 注释
- MySQL的varchar长度问题
- MySQL学习之——索引篇
- mybatis调用mysql存储过程返回结果集
- 12. mysql show status
- MYSQL 启动错误193