mysql数据库优化课程

Wesley13
• 阅读 704

mysql数据库优化课程---9、php用什么写的

一、总结

一句话总结:php是用c语言写的,所以php里面的那些模块什么都是c语言

c语言:php是用c语言写的,所以php里面的那些模块什么都是c语言

2、google搜索和百度搜索的区别是什么?

google:质量
百度:资金

google搜索偏向自由,好东西通过关键词就能搜出来

百度的话主要偏向资金,你给的钱多,你的搜索排名就高

3、mysql中如何查询为null的行和不为null的行?

is null
is not null

1.查询值为null的行
select * from user where password is null;

2.查询值不为null的行
select * from user where password is not null;

因为null不能做比较,所以=null是错的

4、mysql中如何使用limit限定输出条数?

limit m,n

使用limit限定输出条数:
1)前5条
select * from user limit 5;
select * from user limit 0,5;

2)从第四条取3条:
select * from user limit 3,3;

5、delete与truncate的区别是什么?

truncate清除计数器:truncate是直接删除表,delete是一行一行的删除,多以truncate速度快的多,所以truncate也会清除计数器

truncate是直接删除表,delete是一行一行的删除,多以truncate速度快的多,所以truncate也会清除计数器

1.delete清空表数据,但不会清除计数器(自增)
delete from user;

2.truncate清空表数据,同时会清除计数器(自增)
truncate user;

6、统计查找的数据的总函数?

count(*):select count(*) from user;

注意这里这个括号的用法

#统计表总行数:
select count(*) from user;
select count(id) from user;

#统计符合条件的行数:
select count(*) from user where id>2;

7、mysql如何让查出来的字段连接其它字符串,比如在id前面加上id:?

连接函数concat:concat('id:',id) id

最后一个id表示列的别名

连接函数concat:

  1. select concat('id:',id) id,concat('user:',username) user,concat('pass:',password) pass from user;

  2. select id,username,password,concat(id,'-',username,'-',password) iduserpass from user;

  3. select (id-1) as id,username,password from user;

8、linux命令行中怎样是复制?

选中:直接选中就是复制了,然后点右键就是粘贴

9、如何从数据库取出来的数据修改索引之后才返回给调用的位置?

(id-1) as id

select (id-1) as id,username,password from user;

mysql里面支持查询语句列的加减乘除等这些操作

二、内容在总结中

1.查询值为null的行
select * from user where password is null;

2.查询值不为null的行
select * from user where password is not null;

3.使用order by对查询结果排序
#排序分为升序(asc)(从小到大)和降序(desc)(从大到小)
1)升序
select * from user order by id;
select * from user order by id asc;

2)降序
select * from user order by id desc;

使用limit限定输出条数:
1)前5条
select * from user limit 5;
select * from user limit 0,5;

2)从第四条取3条:
select * from user limit 3,3;

delete与truncate的区别:
1.delete清空表数据,但不会清除计数器(自增)
delete from user;

2.truncate清空表数据,同时会清除计数器(自增)
truncate user;

连接函数concat:

  1. select concat('id:',id) id,concat('user:',username) user,concat('pass:',password) pass from user;

  2. select id,username,password,concat(id,'-',username,'-',password) iduserpass from user;

  3. select (id-1) as id,username,password from user;

随机数rand函数:
select * from user order by rand() limit 1;

统计个数count函数:
#统计表总行数:
select count(*) from user;
select count(id) from user;

#统计符合条件的行数:
select count(*) from user where id>2;

求和sum():
select sum(id) from user;

平均值avg():
select avg(id) from user;

最大值max():
select max(id) from  user;

最小值min():
select min(id) from  user;

user表数据:
+----+----------+----------+-------+
| id | username | password | class |
+----+----------+----------+-------+
|  1 | user1    | 123      |     1 |
|  2 | user2    | 123      |     1 |
|  3 | user3    | 123      |     1 |
|  4 | user4    | 123      |     2 |
|  5 | user5    | 123      |     1 |
|  6 | user6    | 123      |     3 |
|  7 | user7    | 123      |     2 |
|  8 | user8    | 123      |     1 |
|  9 | user9    | 123      |     3 |
| 10 | user10   | 123      |     1 |
+----+----------+----------+-------+

group by分组聚合的使用:
#按条件进行分组,然后在分组的基础上进行有条件的聚合.

把每个班的第一个人取出来:
mysql> select * from user group by class;
+----+----------+----------+-------+
| id | username | password | class |
+----+----------+----------+-------+
|  1 | user1    | 123      |     1 |
|  4 | user4    | 123      |     2 |
|  6 | user6    | 123      |     3 |
+----+----------+----------+-------+

统计每个班的总人数:
mysql> select concat(class,' 班') 班级,concat(count(*),' 人') 人数 from user group by class;
+--------+--------+
| 班级   | 人数   |
+--------+--------+
| 1 班   | 6 人   |
| 2 班   | 2 人   |
| 3 班   | 2 人   |
+--------+--------+

7、mysql如何让查出来的字段连接其它字符串,比如在id前面加上id:?

mysql数据库优化课程

concat('id:',id) id

最后一个id表示列的别名

连接函数concat:

  1. select concat('id:',id) id,concat('user:',username) user,concat('pass:',password) pass from user;

  2. select id,username,password,concat(id,'-',username,'-',password) iduserpass from user;

  3. select (id-1) as id,username,password from user;

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
Python3:sqlalchemy对mysql数据库操作,非sql语句
Python3:sqlalchemy对mysql数据库操作,非sql语句python3authorlizmdatetime2018020110:00:00coding:utf8'''
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
PHP创建多级树型结构
<!lang:php<?php$areaarray(array('id'1,'pid'0,'name''中国'),array('id'5,'pid'0,'name''美国'),array('id'2,'pid'1,'name''吉林'),array('id'4,'pid'2,'n
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这