java_day20

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.条件查询关键字WHRER

  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 '%铁%';   

猜你喜欢

转载自www.cnblogs.com/memo-song/p/8946853.html