mysql 查询数据
一,插入数据
1.创建数据表时需要指定主键,也可设置主键为自动增长AOTO_INCREMENT
2.如果某一列设置为自动增长,那么即使手动插入null也会插入自增长之后的数据
3.如果某一列设置为自动增长,若手动指定自增长列的值,那么就不会自增长,以手动插入值为准.
4.自增长具体的值是由数据库中历史最高的值加1
5.代码:
CREATE TABLE student (id int PRIMARY KEY AOTO_INCREMENT , name VARCHAR(20);//主键
INSERT INTO student (id , name) VALUES (1,'超人');
INSERT INTO student (name) VALUES('神奇女侠');//自增序列可以不用插入具体值
INSERT INTO student (id,name) VALUES (null,'蝙蝠侠');//自增序列不会因插入值为NULL受影响
INSERT INTO student (id,name) VALUES (20,'闪电侠');//自增序列以指定的值为准
二,简单查询数据sql语句
1.条件查询关键字WHERE
2.条件判断符号,等于(=) ,不等于(!=) , 大于(>) , 小于(<)
3.判断在两个值中间(含两个边界值): BETWEEN.....AND......
4.判断确定的几个值: IN(数据1,数据2,........)
5.多个条件判断 AND(与),OR(或),NOT(非)
6.判断空值: IS NULL (空) IS NOT NULL (非空)
7.代码
sid | sname | age | gender |
S_1001 | 蜘蛛侠 | 30 | male |
S_1002 | 超人 | null | male |
S_1003 | 神奇女侠 | 246 | male |
S_1004 | 钢铁侠 | 40 | male |
S_1005 | 黑寡妇 | 36 | female |
S_1006 | 美国队长 | 235 | male |
S_1007 | 绿巨人 | 45 | null |
S_1008 | 蚁人 | 30 | male |
S_1009 | 闪电侠 | 22 | male |
SELECT sname,age FROM student WHERE age < 40 AND gender = 'female';
SELECT sname,age FROM student WHERE age BETWEEN 50 AND 30;
SELECT * FROM student WHERE sname IN ('蚁人','闪电侠','超人') AND age < 30;
SELECT sname,IFNULL(age,180) AS age FROM student ORDER BY age;
三.简单查询语句之排序:ORDER BY
1.关键字:升序(ASC),降序(DESC)
2.代码:
SELECT * FROM student ORDER BY age DESC;
四,聚合函数
1.别名:在查询列的后面使用AS关键字,给查询后的虚拟表起一个别名.
2.聚合函数:求行数count()
3.最大值:MAX() , 最小值:MIN() , 求和:SUM() , 平均值:AVG(),
4.count() 会忽略掉NULL只会求有值得行数.如果是*则代表求所有数据的行数.
5.代码
SELECT count(*) AS member FROM student;
SELECT MAX(age) FROM student WHRER age > 50;
五.模糊查询
1.关键字LIKE
2.通配符: 下划线 _ 表示一个任意字符,百分号 % 表示任意个任意的字符
3.代码
SELECT * FROM student LIKE '美国__';
SELECT * FROM student LIKE '%铁%';