MySQL基础命令(cmd)

2017-12-01  本文已影响57人  Mon7ey

数据库管理

表管理

修改表

数据管理

增删改
  1. delete 删除语句

      // 可以带条件删除
     // 只能删除表的数据,不能删除表的约束
     // 删除的数据可以回滚(回滚)
     delete from tableName;   
    
  2. truncate 删除语句

     // 不可带条件删除 
     // 既可以删除表的数据,也可以删除表的约束
     // 不可回滚
     truncate table tableName;    
    

查询数据

数据:


测试数据库.png

1. 查询所有列

    // * : 正则表达式,表示所有列
    // tableName : 表示表名
    select * from tableName;

2. 查询指定列

    // colName : 代表要查询的列名,列名之间用逗号分隔
    select colName1,colName2 from tableName;
    // 可以为要查询的列指定"别名". 表的别名不能用字符串
    // 注意 : 在多表查询时会经常用到表的别名
    select colName1 as '别名',colName as '别名' from tableName as s;

3. 查询时添加常量列

    // 在列名后直接添加常量列,这一列的值相同,也可为常量列设置"别名"
    select colName1,colName2,'常量列内容' as '别名'(可用字符串) from tableName;
常量列.png

4. 查询时和并列

    // 合并列 : 只能合并数值类型的字段
    select colName1,colName2,(colName3 + colName4) as '别名' from tableName;

    // 例句
    SELECT id,NAME,(chinese + english + math + jsp + servlet) AS '总成绩' FROM student;
元数据.png 和并列后数据.png

5. 查询时去除重复记录

    // distinct : 明显的 ; 独特的 ; 有区别的;
    select distinct colName from tableName;    // 语法1
    select distinct(colName) from tableName;    // 语法2

6. 条件查询

6.1条件查询 : 关键词是 "where"
    select * from tableName where colName = xxx;
6.2 逻辑条件 : "and(与)" , "or(或)"
    // 查询ID为2,或姓名为"绫波丽"的学生
    select * from student where id = 2 or name = '绫波丽';
6.3 比较条件 : ">" , "<" , ">=" , "<=" , "=(等于)" , "<>(不等于)" , "between and"
    // 查询servlet成绩大于70的学生的成绩和姓名
    select name, servlet from student where servlet > 70;

    // 查询jsp的成绩大于等于75,且小于等于90分的学生
    select * from tableName where colName >= 75 and jsp <= 90;  // 语法1
    // between and 等价于 >= 且 <= (包前,包后)
    select * from tableName where colName between 75 and 90;    // 语法2
6.4 判空条件 : "null" , "空字符串"
判断空字符串.png
    判断 null : is null / is not null , null表示没有值
    判断空字符串 : ==' '  /  <>' ' , 空字符串是有值的,但值为' '

    // 需求 : 查询性别为空的学生(包括 NULL 和 空字符串)
    select * from student where gender = '' or gender is null;
    // 查询有地址的学生
    select * from student where gender is not null and gender <> '';
6.5 模糊条件 : "like"
    // 模糊查询中可以使用替换标记代替任意字符
    // % : 表示任意数量个字符
    // _ : 表示一个任意字符
    ------------------------------------------------------------
    // 需求 : 查询姓 "李" 的学生
    select * from student where name like '李%';

    // 需求 : 查询姓"李",且名字只有2个字的学生 
    select * from student where name like '李_';

7. 聚合查询

使用"聚合函数"进行数据查询的方式就叫做"聚合查询"
常用的聚合函数: sum() , avg() , max() , min() , count()

需求 : 查询学生的servlet的总成绩.

    // sum() : 求和函数
    select sum(servlet) as 'servlet的总成绩' from student;

需求 :查询学生jsp的平均分

    // avg() : 求平均值
    select avg(jsp) as 'jsp的平均分' from student

需求 : 查询jsp的最高分和最低分

    // max() : 求最大值
    select max(jsp) as '最高分' from student;
    // min() : 求最小值
    select min(jsp) as '最低分' from student;

需求 :统计有多少学生

    // count() : 求数据量
    select count(*) as '数据量' from student;

8. 分页查询

limit关键字 : limit 起始行,查询行数
起始行 : 从0行开始

    // 需求 :** 查询第1,2条记录
    select * from student limit 0 ,2;

9. 查询后排序

关键字 : order by
语法 : order by colName asc / desc
不写排序规则默认是asc(正序)

asc : 正序、顺序

desc : 倒序 、反序

10. 分组查询

关键字 : group by

    // 需求 : 查询男女各多少人
    select gender,count(* / id) from student group by gender;

11. 分组查询后筛选

分组查询后,在"group by"关键字后不能使用"where"关键字进行筛选,需要使用"having"关键字.group by 之前可以用where进行筛选

    // 筛选总人数大于3的的性别
    select gender, count(*) from student group by gender having count(*) > 3;
上一篇下一篇

猜你喜欢

热点阅读