赞
踩
大家好,我是哪吒。
CREATE DATABASE test;
drop database test;
CREATE TABLE IF NOT EXISTS `student`(
`id` INT UNSIGNED AUTO_INCREMENT,
`name` VARCHAR(100) NOT NULL,
`sex` VARCHAR(40) NOT NULL,
`op_date` DATE,
PRIMARY KEY ( `id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE student;
insert student (name,address,op_date) values ('哪吒编程','辽宁省大连市',NOW());
select * from student;
select * from student where name = '哪吒编程'
update student set address = '上海市' where name = '美杜莎';
delete from student where id = 3;
like语句表示模糊查询,只知道字段的部分就可以完成查询。
LIKE 通常与 % 一同使用,类似于一个元字符的搜索,百分号 %字符来表示任意字符,如果没有使用百分号 %, LIKE 子句与等号 = 的效果是一样的。
select * from student where name like '%编程';
select * from student where name like '%编程%';
select * from student where name like '哪吒%';
MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。
select * from student where name like '%编程' UNION select * from student where name like '美%';
MySQL 的 ORDER BY 子句来设定你想按哪个字段哪种方式来进行排序,再返回搜索结果。
select * from student order by id desc;
GROUP BY 语句根据一个或多个列对结果集进行分组。
在分组的列上我们可以使用 COUNT, SUM, AVG等函数。
select s.name,t.teacher_name,t.course from student s left join teacher t on s.teacher_id=t.id;
select s.name,t.teacher_name,t.course from student s left join teacher t on s.teacher_id=t.id where t.teacher_name is not null;
前面提到了like %用于模糊查询。
MySQL同样支持正则表达式进行匹配。
正则表达式 | 描述 |
---|---|
^ | 匹配以某些字符开始的所有数据 |
$ | 匹配以某些字符结尾的所有数据 |
[…] | 字符集合。匹配所包含的任意一个字符。 |
[^…] | 负值字符集合。匹配未包含的任意字符。 |
a | b |
* | 匹配前面的子表达式零次或多次。 |
+ | 匹配前面的子表达式一次或多次。 |
{n} | n 是一个非负整数。匹配确定的 n 次。 |
{n,m} | m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。 |
select * from student where name REGEXP '^哪吒';
查询以“云美萧”开头的所有数据:
select * from student where name REGEXP '^[云美萧]';
MySQL数据库基础知识6,缓存表、视图、计数器表、自定义变量
MySQL数据库基础知识9,InnoDB和MyISAM的数据分布对比
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。