Mysql自学笔记一

1.mysql中表的字符集设置为utf8,但是在navicat piemium中中文仍显示乱码,解决方案

     navicat piemium中选中数据库服务器连接-右键-连接属性-高级-将编码集设置为‘10008-GB2312

2.建表语句为:

create table t1(

       tid int not null auto_increment ,        

       dept  varchar(20) not null default '计算机科学',

       primary key(tid)

)engine=MYISAM auto_increment=1 default charset=utf8;

插入时,如果使用

    insert into ti values(null,null);会报错,因为dept不允许使用null值,如果要使用dept的默认值,则插入语句应该为

   insert into t1(tid) values(null);插入结果为

    

tiddept
1计算机科学

 3.like语句中使用'_',例查询姓名为2个字的学生信息,学生表如下 

  查询语句应为 select * from t1 where tname like '____';一共应使用4个下划线,因为一个汉字对应2个字符

4.limit(用于分页)

 limit  [偏移量,]最大行数

例 select * from t1 limit 3;查询结果为


select * from t1 limit 2,2;查询结果是从第3行开始算起,一共显示2行,查询结果如下

limit分页实例--该段描述是转载

select  * from t1 order by tid desc limit 10000,20;

limit 10000,20的意思是扫描满足条件的10020行,扔掉前10000行,返回最后20行,这样性能会受影响,但如果使用limit 20就只需要扫描20行,以此原理分页可做成:

select * from t1 order by tid desc;按tid降序分页,假设一共1000条数据,每页20条,当前是第10页,当前页最大tid是820,最小值是801

上一页:select * from t1 where tid>820 order by tid limit 20; 

下一页:select * from t1 where tid<801 order by tid desc limit 20;

跳转到第8页: select * from t1 where tid>820 order by tid limit 20,20;

5.字段别名

select tname 学生姓名,score 学生成绩 from t1;有时会报错,建议使用select tname as '学生姓名',score as ' 学生成绩' from t1;

6.group by having where

    a.使用group by时,select语句中只能出现group by 中的字段或聚合函数

    b.having语句只能出现在group by之后,order by 之前

    c.where子句用来筛选from子句中指定的操作所产生的行

    d.group by 子句用来分组where子句的输出

    e.having 子句用来从分组的结果中筛选行

例:表结构

查询每个部门sal大于等于1500的所有sal的总和

select deptno,sum(sal) from t where sal>1500 group by deptno;

查询sal总和大于5000的deptno

select deptno from t group by deptno having sum(sal)>5000;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值