大数据之MYSQL基础知识总结:

一.sql语言语法特点:

        1.对关键字的大小写不敏感

        2.sql语句可以单行或者多行书写,以分行结束

        3. 注释:-- 这是注释 , #这是注释 ,

                        多行注释 :/*第一行

                                           第二行 */

二. 数据库分类:

        1.关系型数据库(RDBMS):

                  Oracle数据库:最贵的

                  mysql数据库:最流行数据库

                  sqlServer数据库:window上最好的数据库

                  postgreeSql:功能最强大的数据库

                  SQLite:最流行的嵌入式数据库

        2. 非关系型数据库(NoSql):

                   Redis:最好用缓存数据库

                   MongoDB:最好用的文档型数据库

                   Elasticsearch:最好的搜索服务

                   Cassandra:最好的列式数据库

                   HBase:优秀的分布式列式数据库

三.MYSQL的知识点:

        

SQL基础知识:
1.登录远程机器指令: 
mysql -h 127.0.0.1 -P 3306 -uroot -p 
2.退出:
exit quit    ctrl +d (linux版本)
3.创建一个数据库
create database  if not exists db_itheima default  charset = utf8;
4.删除一个数据库:
drop database db_user
5.修改表字段(新增字段):
alter table table_name add user_name varchar(32)  after id ;
6.查看表结构:
desc table_name
7.修改字段名称:
alter table user  change username  user varchar(40) 
modify只能修改字段类型
alter table tb_ user modify user varchar(20)
8.执行某一条sql在datagrif的命令
ctrl+enter 
9.删除表中字段:
alter table article drop addtime:
10. 重命名一张表:
rename table tb_user tb_number 
11.查看当前库中所有表:
show tables;
12. decimal数据类型为小数:
decimal(5,2) = 999.99
13. 创建一张表:
create table tb_user (
id int,
username varchar(20),
password char(32)
)engine = innodb default charset=utf8;
DDL DML 知识:
14.tinyint unsigned 无符号型,只有正数没有负数 0-255
15.float和double类型容易失真,所以一般用decimal(m,d)
decimal(10,2) 代表这个数字总长度是10(整数位数+小数位数) ,保留两位小数
16.向表中插入数据:
insert into user (cid,cname) values(1,'jone');
insert into user (cid,cname) values(1,'jone'),(2,'aili');
17.创建表字段确定必须是列出的枚举类型:
gender enum('男',‘女’,‘保密’);
18. 修改数据
update tb_user set gender = '男' ,address = 'beijing'  where username = '蔡徐坤';
年龄加一的修改
update tb_user set age = age+1 ,address = 'beijing'  where username = '蔡徐坤';
19. 删除某一条数据:
delete from user where id = 1
20.删除表中数据
truncate user;
SQL约束:
21. 创建表的时候:
primary key(id)
22.删除主键
alter  table user  drop primary key
23.添加主键
alter  table user  add primary key(id)
24.主键自增长设置:
id int auto_increment primary key
25. 插入一个密码加密的数据
insert into tb_number values(1,'admin',md5('123456'));
26.删除主键:有自动增长的前提下,要先删除自动增长
alter table user modify id int;
alter table drop primary key;
27.强调非空字段:
name varchar(20)  not null
28.唯一约束
phone char(11) uniquer 
29.默认值约束:
gender enum('男','女') default '男'
30. 插入默认值
insert into user values(null,'李四',24,default,‘北京GUGONG’);
DQL语句:
31. 各种查询语句的排列顺序:
select * from 数据表 [where子句]  [group by 分组子句] [having 子句] [order by 子句] [limit子句]
32. 查询不是某个条件的语句:
select * from produce where not(price = 800) ;
33.查询第二个字为想的所有产品:
select * from product where pname like '_想%'
34.聚合函数会忽略空值
count() sunm() max() min()  avg()
35.分组与聚合是分组先发生
select gender ,count(*)  from user group by gender;
36.回溯统计(跟总计差不多)
select gender ,count(*)  from user group by gender with rollup;
37.having子句在分组后过滤,where发生在分组之前
38.order by指定多个字段排列:
select * from user order by 字段1 asc , 字段2 desc
39.limit的用法
select * from table limit m,n
m: 偏移量,偏移量0就是从第一条开始,就是从第几条来查 (当前页-1)* 每页查询条数
n:每次查询几个
40.多表查询之交叉连接查询:
select * from table1 cross join table2
字段数:表一字段+表二字段
总条数:笛卡尔积(sql优化严禁出现笛卡尔积)
50.外键约束:
字段名 字段类型 字段约束[5种情况]
主键约束:primary key
默认值约束: default
非空约束:not null
唯一约束:unique key
外键约束:foreign key
51.表建立后,先不要插入数据,要先配置外键约束:
alter table tb_xiaodi add foreign key (dage_id) references dage(id) on delete cascade on update cascade ;
52.查看引擎:
show engines;
53.查看表结构:
show create table xiaodi;
54.子查询,查询年龄最小分数最低的学生
select * from tb_student where (age,score) = (select min(age),min(score) from tb_student);
55.窗口函数特点:不会改变原有表的数据条数,简单,快速,多功能性
select 聚合函数() over(partition by ___   order by ___)from 数据表
select *,avg(gpa)   over (partition by gender) as avg_gpa from student
56.窗口函数查询平均价格:
select item,price,avg(price) over() from purchase;
57.窗口函数查询员工平均工资后,查询与工资差额
select first_name , last_name, salary, avg(salary) over () as avg_sal ,
salary -  avg(salary) over () as diff from employee;
58.排序函数,rank()
select name ,platform, editor_rating rank() over (order by editor_rating ) as rank_ from game
59.排序函数,排序数字连续:dense_rank()
60.ROW NUMBER 返回行号 提示(row_number)是关键词:
select name ,platform, editor_rating row number() over(order by editor_rating)
as `row_number` from game
















        

        

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值