大数据mysql数据库命令基础早课(0917)

1.MySQL的部署流程大概哪几步
1 确定坏境和相关组件。
2 建立相关目录结果,/usr/lcoal/data
3 建立mysqladmin用户和dba组。cp /etc/shel/*. 添加mysqladmin的环境变量。
4 建立mysql的cnf文件。修改/etc/my.conf 和 /usr/local/mysql 权限和属主属组。权限为 755 。属主属组。mysqladmin:dba 755
5 安装mysql。制定相关 data目录和 home/目录。
6 查看mysql相关进程,删除/usr/lcal/mysql/conf文件。(my.conf 可以在执行。这样直接 cp conf /etc/my.conf)
7 添加启动项init.d
8登录mysql ,简单设置相关用户和密码
2.重置root用户密码的SQL是什么?用到了 什么函数?

1 mysql> update user set password=password(‘123456’) where user=‘root’;.
2

3.删除空账户的SQL是什么?
mysql> delete from user where user=’’;
4.数据类型有哪些?
MySQL数据类型可分为3类:数值类型、日期和时间类型、字符串(字符)类型

  1. 数值类型:

    tinyint[(M)] [UNSIGNED] [ZEROFILL] //M(默认值) 4 非常小整数值
    smallint[(M)] [UNSIGNED] [ZEROFILL] //M(默认值) 6 较小整数
    mediumint[(M)] [UNSIGNED] [ZEROFILL] //M(默认值) 9 中等大小整数
    int 和integer[(M)] [UNSIGNED] [ZEROFILL] //M(默认值) 11 和int相同
    bigint[(M)] [UNSIGNED] [ZEROFILL] //M(默认值) 20 较大整数

示例:

int(11),int(5),如果不指定位数,INT型默认长度为11			 
float [(M,D)] [ZEROFILL]
double[(M,D)] [ZEROFILL] 和 real[(M,D)] [ZEROFILL] 相同
decimal[(M[,D])] [ZEROFILL] 和 numeric[(M,D)]  [ZEROFILL] 相同

    (M,D) 表示总共M位,D个小数位,D包含于M中。浮点类型不能是unsigned的

M :指出最大的显示尺寸。最大的合法的显示尺寸是 255 。 
D :适用于浮点类型并且指出跟随在十进制小数点后的数码的数量。最大可能的值是30,但是应该不大于M-2
  1. 字符类型
    char(M)[BINARY]
    varchar(M) [BINARY]
    tinyblob,tinytext // inyblob:不超过 255 个字符的二进制字符串; tinytext:短文本字符串
    blob,text // blob:二进制形式的长文本数据,在分类和比较时BLOB 类型区分大小写; text:长文本数据,在分类和比较时TEXT 不区分大小写
    mediumblob,mediumtext // mediumblob:二进制形式的中等长度文本数据; mediumtext :中等长度文本数据,
    longblob,longtext // longblob:二进制形式的极大文本数据 ; longtext :极大文本数据
    enum(‘value1’,‘value2’,…) // 1或2个字节,取决于枚举值的个数(最多65,535个值)
    set(‘value1’,‘value2’,…) // 1、2、3、4或者8个字节,取决于set成员的数目(最多64个成员)

  2. 日期类型

    YEAR[(2|4)]:范围 1901/2155 格式 YYYY
    DATE :范围 ‘1000-01-01’–‘9999-12-31’ 格式 YYYY-MM-DD
    TIME :范围 ‘-838:59:59’到’838:59:59’ 格式 HH:MM:SS
    DATETIME :范围 ‘1000-01-01 00:00:00’–‘9999-12-31 23:59:59’ 格式 YYYY-MM-DD HH:MM:SS
    TIMESTAMP[(M)] :范围 1970-01-01 00:00:00/2037 年某时 格式 YYYYMMDD HHMMSS 混合日期和时间值,时间戳

5.建表的SQL语句是什么?
mysql> create database 数据库名;

6.增删改查的SQL语句是什么?

删除
drop table 表名;
插入数据:
insert into 数据库名.表名(列名) values(对应的值);
例如:
insert into user(id,name,memory,sex,do,cretime) values(1,‘小米’,10.22,‘b’,‘在打游戏’,‘2017-12-11 00:00:00’);

insert into user values(1,'小米',10.22,'b','在打游戏','2017-12-11 00:00:00');

insert into user(id, name) values(1,'小米');

查询:
select 字段 from 数据库名.表名;
例如:
select * from user;
select * from user where id=3;
*:查询所有的列
更新:
update 数据库名.表名 set 字段名称=新的值
例如:
update user set sex=‘g’ where id=1;修改id为1的数据

update user set sex='g';修改全部的行

删除:
delete from 数据库名.表名
例如:
delete from user;删除所有的数据,慎用
delete from user where id=3;删除id为3的数据

7.排序,默认是升序还是降序

SQL语言的默认排序方式是升序,ORDER BY 子句若未显式指定升序(ASC)或降序(DESC),那么就认按默认升序排序。
例如下列语句为默认按升序排序
select * from t1 order by col1;
它与下列语句等效
select * from t1 order by col1 asc;

8.分组函数哪些?
##进阶函数
/*
调用语法:select函数名(实参列表);
分组函数和单行函数的区别:
单行函数:将一个数据进行处理,返回一个值
分组函数:将虚拟表看做一个组,处理一组数据,返回一个值

常见的分组函数:
sum(字段):求该字段的所有值的和
avg(字段):求该字段的平均值
max(字段):求最大值
min(字段):求最小值
count(字段):计算该字段中的非空值的个数

特点:

1.分组函数可以搭配筛选条件使用
2.分组函数的参数可以作为字段或者表达式
3.分组函数都忽略null值
4.分组函数都支持的类型:
max、min、count支持任意类型
sum、avg仅仅支持数值类型

5.count的使用
count(*)或count(常量值):统计结果集中的行数
count(distinct字段):实现去重后的统计

6.和分组函数一同查询的字段不能是任意字段,可以是group by后面的字段
问题:
查询员工平均工资和员工号
select avg(salary),employee_id from employees
group by avg,employee_id;

9.分组语法是什么?要注意什么
1 order by【表示通过哪个或者哪些字段进行排序】

group by【表示通过哪个或者哪些字段进行分组】

重点:若一条DQL语句当中有group by 子句,那么select关键字后面只能跟参与分组的字段和分组函数。

where关键字后面不能直接使用分组函数。

分组函数必须在分组完成之后执行,而分组需要group by,而group by在where后执行。
2 一个完整的DQL语句的总结:

select

from

where

group by

having

order by

第一:以上的关键字顺序不能变,严格遵守。

第二:执行顺序:

1.from     (从某张表中检索数据)

2.where    (经过某条件进行过滤)

3.group by   (然后分组)

4.having    (分组之后补满意再过滤)

5.select    (查询出来)

6.order by   (排序输出)

10.having是用来过滤数据的,是不是只能跟group by后面?
having:

having和where功能都是为了完成数据的过滤

where 和having后面都添加条件

where在group by之前完成过滤

having在group by 之后完成过滤

原则:

尽量在where中过滤,无法过滤的数据,通常都是需要先分组之后再过滤,这个时候可以选择使用having。
11.限制多少行 返回的语法?
查询数据时,会返回很多条记录,用于需要的记录可能只是其中的一条或者几条,比如,实现分页功能,每页显示10条记录,每次查询就只需要查询出10条记录。
MySQL中,提供了LIMIT关键字,可以指定查询结果,从哪一条记录开始,以及一共查询多少条记录

SELECT 字段名1,字段名2,……
FROM 表名
LIMIT [OFFSET,] 记录数

参数说明
LIMIT后面,可以跟两个参数

第一个参数,OFFSET,可选参数,表示偏移量,如果不指定默认值为0
如果,偏移量为0,则从查询结果的第一条记录开始,偏移量为1,则从查询结果中的第二条记录开始,以此类推
第二个参数,记录数,表示返回查询结果的条数

查询student表,前4条记录

这里写图片描述

可以看出,执行语句中,没有指定偏移量,返回的结果从第一条记录开始,一共返回了4条记录

查询student表,grade字段值从第5位,到第8位的学生,结果按grade从高到低排序

这里写图片描述

可以看出,返回了4条记录,grade字段值是从第5位到第8位

12.where group by having order by limit 组合使用顺序对不对
mydql>select deptno,job,sum(sal)from emp /
where job=‘SALESMAN’
group by deptno,job
having sum(sal) >3000
order by sum(sal) desc
limit 1;

13.union all和union 什么区别? 使用union语法要注意什么
#.union all 不去重复和union 去重复
注意:

a.名称是第一张表决定
b.不用* 指定字段
c.对应字段类型保持一致

14.我只知道含有字母abc的,like语法怎么写
select * from A where B like ‘%S%’; S不知道什么位置
15.tar在解压后,我们要习惯做一个命令看看什么对不对?
#MD5 校验
16.昨天有个小伙伴 window链接不了 MySQL服务?那我们该怎样去校验该服务呢?
#ping mysql 端口
#ping 服务端ip
#检查server 上mysql 服务状况。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值