Mysql相关知识

1.数据库分类:
Oracle、MySQL、SQLserver
常见的数据库类型:mysql 开源的数据库软件,web常用MySQL 、sql server 微软的 、Redis 最好用对的缓存数据库
2.sql分类:

DDL(Data Definition Language--定义语言 创建 删除表 改列):关键字有  create 、drop 、alter 
DML(Data Manipulation Language- -操作语言 删除 更新):关键字有 insertdeleteupdate
DQL(Data Query Language--查询语言):关键字有  select、where
DCL(Data Cntrol Language-- 控制用户角色和权限) :关键字有 grant(授予) 、revoke(移除)
create database db1  character set gbk;
create database if not exist  db2;
show databases;查看所有数据库
show create database db2;
DDL:
create database if not exsit db2;
create database db2 character set gbk;
drop database db2;
alter  database db2 default character set utf8;
DML:
①往表里插入数据:insert  into table (zziduan)vaules(zhi) ;
②删除表里数据:delete from table where ;
③更新数据:update student set age = 12 where name = '张三';
                      update student set age=12,tel =13261193333 where name = '李四' ;
④蠕虫复制:
把student2表结构及数据复制到student表
create table student like student2;
insert into student select * from student2;
把student2的两个字段数据复制到student表;
insert into student(age,name) select age,name from student2;
DQL:	
select * from table where 。。。
select name as 姓名,age as 年龄 from student ;
select distinct age from table;
select math+English+Chinese 总成绩  from  student;

分组查询 (配合聚合函数count使用):单独分组不需加where
分组只能查询聚合函数和指明列信息,不能查询个人信息
使用语法:select deptno,count(*) from emp where sal>10000 group by deptno having count(*) >=2;  
-- 求全班语文成绩的总和
			select sum(China) from student;
		-- 求全班有多少人
			select count(*) from student;
		-- 求全班数学成绩的平均数
			select avg(Math) from student;
		-- 求全班语文的最低成绩
			select min(China) from student;
		-- 查询年龄大于十岁的学生年龄以及人数
			select age,count(*) from student where age>10 group by age ;
			select age,count(*) from student group by age having age>10;
				查询家乡是北京,上海,天津,深圳,四川的学生信息
            Select * form student where hometown in()
DCL:
``

**3.数据库约束**

```sql
主键自增长约束:
1、创建时添加自增长约束insert into user(id int primary key auto _ increment);
2、修改时添加自增长约束Alter table user change id id int auto_increment;
   删除自增长约束  alter table user change id id int;
Not null 非空约束
 uniuque 唯一约束 
  default 默认值 sex default’男’
外键约束:
Foreign key

sql的逻辑运算符

> < =  >= <= != <>
in 只要满足就显示
or 只要满足一个条件就显示
and 都满足才显示
like 模糊匹配 likeno%like '笔记_'

sql的排序

order by age desc,name asc 

聚合函数

count(age) 统计多少行
sum 总和
avg 平均数
max 最大数
min 最小数

分组

 count(*group by + having限定条件
 where ....order by group by having
 where 用于分组前的限定条件,having用于分组后的限定条件
 where不能引出聚合函数,having后可以使用聚合函数
 
**外连接:左外 left join** 
	语句:SELECT  * FROM a_table a left join b_table b ON a.a_id = b.b_id;
	说明:以左表为主表,将左表满足条件的都展示出来,右表如果不满足条
件直接展示null;
	右外right join,与左外相反;
**内连接:inner join**
	语句:select * from a_table a inner join b_table b on a.a_id = b.b_id;
	说明:返回条件的交集
全连接:union
	说明:因为mysql没有full join,所以可以先用左连接满足条件的,union右连接满足条件的
	
**使用顺序**

FROM
WHERE (先过滤单表/视图/结果集,再JOIN)
GROUP BY
HAVING (WHERE过滤的是行,HAVING过滤的是组,所以在GROUP之后)
ORDER BY


	
		

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值