美文网首页
浅谈Mysql 中的查询

浅谈Mysql 中的查询

作者: Customer_ | 来源:发表于2017-08-29 20:22 被阅读0次

    一、Mysql在windows系统下的使用操作

    在DOS命令窗口输入 mysql -hlocalhost -uroot -p回车 进入mysql数据库,
    其中:
    -h表示服务器名,localhost表示本地;
    -u为数据库用户名,root是mysql默认用户名;
    -p为密码,如果设置了密码,可直接在-p后链接输入,如:-p123456,
    用户没有设置密码,显示Enter password时,直接回车即可。
    先使用DOS命令进入mysql的安装目录下的bin目录中。以我的电脑为例,
    方法如下:输入D:进入D盘,在输入cd D:\Tools\MySQL5.5.25\bin进入到mysql的bin目录下才可以输入:

    mysql -hlocalhost -uroot -p

    1.查询显示所有数据库

    show databases;
    

    2.进入某个数据库

         use XXX数据库;
    

    例: use db_user

    3.创建表

    create table users(
    id int PRIMARY KEY auto_increment,
    name varchar(50) not null unique,
    sex varchar(10),
    tel varchar(20),
    age int default 18,
    address varchar(500) 
    )
    

    二、浅谈查询

    select 列名1, 列名2, 列名3, from 表名;
    select * from users;

    -- 查询一个年龄大于18的女性

    SELECT * FROM user WHERE (age > 18 AND sex = "女") or age = 16;
    

    查询年龄不等于40的人

    SELECT * FROM user where age <> 40;
    

    查询年龄小于18 且性别为“女”的人

    SELECT * FROM user WHERE age < 18 or sex = "女";
    

    查询数据中性别不为空的人
    SELECT * FROM user WHERE sex is NOT null;

    所有的人的年龄和、年龄最大的谁?最小的?平均年龄是多少?

    聚合函数 sum max min avg 平均值 列的别名 as(可以省略)

    SELECT SUM(age) as 年龄和,MAX(age) 最大年龄,MIN(age) AS 最小年龄,avg(age) AS 平均 from user;
    

    部门共有多少人?

    SELECT COUNT(id) FROM user;
    

    指定查询年龄为20,35,40的员工

    SELECT * FROM user where age in(20,35,40)
    

    查询年龄在20--45岁之间的员工

    SELECT * FROM user WHERE age >= 20 AND age <= 45;
    
    SELECT * FROM user WHERE age BETWEEN 20 and 45;
    

    模糊查询

    查询ID号为20的某位员工

    SELECT * from user WHERE ID = 20
    

    查询名字中含有“刘”字的员工

        SELECT * FROM user WHERE username LIKE '%刘%'  -- % 表示通配 以“刘”字开头
        SELECT * FROM user WHERE username LIKE '刘%'
        SELECT * FROM user WHERE username LIKE '_刘%'  -- _表示占位
    

    按年龄降序排列员工

    SELECT * FROM user order BY age desc -- order by 列名 [asc|desc]
    

    查询我们部门下的女性的人数?

    SELECT COUNT(*) from user where sex='女'
    

    部门下的男女人数各是多少?

    SELECT sex, COUNT(*) from user where true and GROUP BY sex having sex is not NULL
    

    dba 有个表 10亿条数据,先查询一下数量,在进行相应查询

     select count(*) from user
    
    SELECT * from user LIMIT 8,4
    
    当前页 pageNow
    每页显示多少条 pageSize
    总共的条数
    allCount select count(*) from user
    

    总共有多少页?

     pageAll = allCount % pageSize  == 0 ? pageAll = allCount % pageSize : pageAll = allCount % pageSize + 1
    

    第二种查询

    SELECT * from user where LIMIT (pageNow-1)*pageSize ,pageSize
    

    相关文章

      网友评论

          本文标题:浅谈Mysql 中的查询

          本文链接:https://www.haomeiwen.com/subject/pddadxtx.html