MySQL查操作

MySQL查操作

返回首页

数据库在我眼中就是增删改查,而查,我觉得是数据库最费劲的,数据库的花式查,各种查。下面咱们不废话,就是干。

一、查看数据库操作

查数据库版本:select version();

查登录用户:select user();

查库中有多少数据库文件:show databases;

切换到数据库中:use 数据库名;

查看临时数据库步长:show session variables like 'auto_inc%';

查看全局数据库步长:show global variables like 'auto_inc%';

 

二、查看数据表操作

查看数据库表的创建规则:show create table 表名;

            show create table 表名  \G; 翻转90度。

查看数据表每个字段的含义:desc 表名;

查库中有多少表:show tables;

 

三、查看数据行操作

查表中的内容:select * from xxx(表名);   `*`的意思是统配所有,也可以写具体的表中的title,如name,id等等

查表中的内容,并加条件:  

    select id,name from 数据库表名 where id > 10 or name ='xxx';

    select * from 数据库表名 where id != 1   #条件id 不等于1

    select * from 数据库表名 where id <> 1  #条件id 不等于1

    select * from 数据库表名 where id in (1,5,12);   #条件id为1、5、12

    select * from 数据库表名 where id not in (1,5,12);   #条件id不是1、5、12.

    select * from 数据库表名 where id in (select id from tb11)  #可以去别的表查,但是只能查一列。

    select * from 数据库表名 where id between 5 and 12;    #条件是id在5和12之间的,between是取区间,是闭区间。

 

查表中的内容,给表头起别名,用as。后面跟起的别名。 

    select id,name as cname from 数据库表名 where id > 10 or name ='xxx';

样例:select id,name as cname from t1 where id > 10 or name ='george';

 

查表中的内容,并给表加常量,加的量会是一列都是哪个常量。

    select name,age, 11(常量) from 数据库表名;

样例:select name,age,11 from t1;  #这样查询,就会有一列都为11的数据。

 

通配符查看:
  select * from 数据库表名 where name like "a%"      

  # %配所有,不限个数,a%以a开头,%a以a结尾,%a%内容有a即可。

  样例:select * from t1 where name like 'a%';

      # 查看所有以a开头的名字。
  

  select * from 数据库表名 where name like "a_"  

  # _ 配一个字符,限个数的。

 

分页查看:limit

  select * from 数据库表名 limit 10;      

  # 查表中前10条数据,limit加一个值,是查看前多少条。


  select * from 数据库表名 limit 0,10;  

  # 查表中其实第一位到第10位的数据,0位起始值 ,10位从起始值去多少的个数。

  

  select * from 数据库表名 limit 10,10; 

    # 查表中第10位到下个10位的数据

  

  select * from 数据库表名 limit 20,10;

  # 查表中第20位到下个10位的数据

 

  select * from 数据库表明 limit 10 offset 20;    

  # offset为从哪开始取值,limit为一次取多少。也就是从20开始取值,取10条数据。

 

排序:用order by
  select * from 数据库表名 order by id desc;   # id desc 大到小
  select * from 数据库表名 order by id asc;   # id asc 小到大

 

多列排序

  select * from 数据库表名 order by (列1) desc, (列2) asc; 

  # 先按照列1从大到小排列,在按照列2从小到大排列。


取后10条数据:

  先用order by 将数据倒序排列,在用limit取值。
  select * from 数据库表名 order by id desc limit 10;

 

------ END ------

page = input('请输入要查看的页码')
page = int(page)
(page-1) * 10

select * from 数据库表名 limit 0,10; 1
select * from 数据库表名 limit 10,10;2

 

posted @ 2017-08-02 15:00  王先生是胖子  阅读(146)  评论(0编辑  收藏  举报