Mysql_learn

一、mysql基础

1.mysql相关文件

 mysql.exe:客户端程序
 mysqld.exe :服务端程序
 my.ini:服务器配置文件

2.sql语句分类

  DDL:对数据库、表的结构操作
  DML:对表的记录操作
  DCL:对用户的创建及授权
  DQL:查询操作

3.sql时间类型

 date:日期(年月日)
 time:时间(时分秒)
 timeStamp:时间戳类型

4.DCL

 一个项目创建一个用户,一个项目对应的数据库只有一个,该用户只能对此项目有权限

二、sql加强

1. in() 
 update stu set s_gender='male' where s_age in(20,22);

2. ifnull(comm,0):comm属性如果为null,则视为0操作
 concat(e_name,e_job):将e_name和e_job属性连接在一起
 concat(e_name,e_job) as 描述:将e_name和e_job属性连接在一起,并起别名为“描述”(as可省略);

3. _:一个字符
 %:零个或多个字符

4.order by 列名 asc(升序)/desc(降序)
   order by 列名1 asc(升序),列名2(降序) : 如按列名1升序排序相同,则按列名2降序排序

5. select count(*) from stu;查询记录条数
 sum(xxx);某列总和
 max\min\avg

6. group by 列名: 按列分组
 select xxx,xxx group by 列1:xxx只能放 分组列列1,或者聚合函数
 分组后的条件:关键字having
     select s_gender,count(*) from stu where s_name<>'zhangsan' group by s_gender having count(*)>3;
         按性别分组,找出不是叫做张三的性别及个数,并且个数要大于3

7. mysql方言:limit
     
select * from stu limit 4,3;
     其中4(下标4)表示从第5行开始,其中3表示一共查询3行,即显示5、6、7行数据

8.添加主键:alter table stu add primary key(xxx)
   删除主键:alter table stu drop primary key
  (使用uuid做主键)
   外键可以为空
   外键约束:constraint xxx foreign key(sno) references ...(xxx)
   自增 auto_increment(insert value为null时,也有值)

9.合并结果集
 
   要求被合并的表中,类的类型和列数相同
    Union,去除重复行
    Union all,不去除重复行

10.内连接:标准:select * from 表1 别名1 inner join 表2 别名2 on 别名1.xx=别名2.xx

   外连接:
  左外连接:一主一次,以左为主,主表中所有的记录无论满不满足条件都显示,当不满足条件时,右表部分使用null补位
            注:可使用IFnull(d.dname,'无部门')。
    select * from 表1 left outer join 表2 on 表1.xxx=表2.xxx
  右外连接:一主一次,以右为主,主表中所有的记录无论满不满足条件都显示,当不满足条件时,左表部分使用null补位
  全连接:可以使用union来使用全连接

三、心得
      由于之前学过sql知识,掌握得较快,当做复习了

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值