Mysql学习笔记

DDL----数据库操作、表、表字段操作;

DML----完成数据的增删改

DQL----查询数据

DCL--数据控制语言(管理数据库用户、访问权限)

1、DDL-表操作-查询

Show tables;---查询当前库里的所有表

Desc +表名----查询表结构

 

Show creat table +表名----查询指定表的键表语句

DDL-表操作-创建

  

use itcast)返回自定义的库,不在系统的库。

DDL-表操作-修改

添加字段

Alter table 表名 add 字段名 类型(长度)[comment “注释”][约束];

修改数据类型

Alter table 表名 modify 字段名 新数据类型 (长度);

修改字段名、数据类型

Alter table 表名 change 旧字段名 新字段名 数据类型(长度)[comment 注释][约束];

 

删除字段

Alter table 表名 drop 字段名;

 

修改表名

Alter table 表名 rename to 新表名;

删除指定表,并重新创建该表

Truncate table 表名;

删除表----drop 表名;

总结

 

二、DML完成数据的增删改

添加数据(Insert)

修改数据(update)

删除数据(delete)

DML---添加数据

  1. 给指定的字段添加数据

Insert into 表名(字段名1,字段名2,);

  1. 给全部字段添加数据

Insert into 表名 values(值1,值2);

 

  1. 批量添加数据

Insert into 表名(字段名1,字段名) values(值1,值2),(值1,值2);

Insert into 表名 values  (值1,值2),(值1,值2);

 

注意:插入数据时,指定的字段顺序要与值的顺序是一一对应的;

      字符串和日期型数据应该包含在引号中;

插入的数据大小应该在字段的规定范围内;

DML-修改数据

Update 表名 set 字段名=值1,字段名2=值2 where 条件;如果没有where条件则表里所有的值都改变;

 

DML-删除数据

Delete from 表名 where 条件

 

Delete 不能删除某一个字段的值(可以用update 值为 null)

总结:

 

DQL--语法

Select 字段列表+

from 表名列表   

Where 条件列表

Grup by 分组字段列表

Having 分组后条件列表

Order by 排序字段列表

Limit 分页参数  

 DQL-基本查询

  1. 查询多个字段

Select 字段1,字段2 from 表名;

 

Select * from 表名;(查询表中所有数据)

  1. 设置别名

Select 字段1 as 别名1 from 表名;

  1. 去除重复记录

Select disinct 字段列表 from 表名;

 

DQL-条件查询

  1. 语法 

Select 字段列表 from 表名 where 条件列表;

  查询年龄为19的学生;

 

查询年龄小于25的学生;

 

查询年龄小于等于19的学生;

 

查询有id的学生;

 

查询年龄不等于19的学生信息

 

查询年龄在19到25之间的学生信息;

 

查询性别为女并且年龄小于20岁的学生信息;

 

查询姓名为两个字的学生信息

 

查询id最后一位是2的学生信息

 

DQL-聚合函数

Count--统计数量

Max--求最大值

Min--求最小值

Avg--求平均值

Sum--求和

聚合函数---语法

Select 聚合函数(字段列表) from 表名;(所有的null不参与聚合运算)

案例;

统计这个班所有的学生数量

 

统计学生的平均年龄

 

统计这个班的学生的最大年龄

 

统计这个班学生的最小年龄

 

统计这个班所有性别是女的学生的年龄之和

 

DQL--分组查询

语法

Select字段列表 from 表名 where 条件/ group by分组字段名 /having 分组后的过滤条件;

Where与having的区别

执行的世纪不同:Where 是分组之前进行过滤,不满足where条件不参与分组;而having是分组之后对结果进行过滤。

判断的条件不同:where不能对聚合函数进行判断。而having可以;

注意:

执行顺序:where>聚合函数>having;

分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段五任何意义;

案例:

  1. 根据性别分组,统计男性学生与女性学生的数量;

 

  1. 根据性别分组,统计男学生与女学生的平均年龄

  1. 查询年龄小于20的学生,并根据年龄分组,获取学生数量大遇4的学生年龄

 

DQL--排序查询

语法:

Select 字段列表 from表名 order by 字段1 排序方式1,字段2,排序方式2;

排序方式

Asc 升序(默认值)

Desc 降序

注意:如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序。

案例:

  1. 根据年龄对学生进行升序排序

 

  1. 根据年龄对学生进行降序排序

  1. 根据年龄对学生进行升序排序,如果年龄一样再根据sid进行降序排序

四、DQL-分页查询

语法

Select字段列表 from 表名 limit起始索引,查询记录数;

注意:

起始索引从0开始,起始索引=(查询页码-1)*每页显示的记录数;

分页查询是数据库的方言,不同的数据库有不同的实现,mysql中是limlt;

如果查询的是第一页的数据,起始索引可以省略,总结简写为limit 10。

案例:

  1. 查询第一页的学生数据,每页展示3条记录;

 

  1. 查询第二页学生的数据,每页展示3条记录;

 

DQL--案例练习

  1. 查询年龄为19,20岁的学生信息;

 

  1. 查询性别为男并且年龄在19到24之间的姓名为两个字的学生信息;

  1. 统计学生信息表中年龄小于25岁的男性与女性学生的人数

 

  1. 查询所有年龄小于20岁的学生的姓名和年龄,并且对查询结果按年龄进行升序排序

  1. 查询性别为男。并且年龄在19到24岁以内的前五个学生的信息对查询结果按年龄进行升序排序;

DQL-- 总结

 

五、DCL--数据控制语言(管理数据库用户、访问权限)

DCL--管理用户

  1. 查询用户

Use mysql;

Select * from user;

  1. 创建用户

Create user ‘用户名’@’主机名’ identified by ‘密码’;

  1. 修改用户

Alter suer ‘用户名’@’主机名’ identified with mysql_native_password by ‘新密码’;

  1. 删除用户

Drop user‘用户名’@‘主机名’;

练习:

  1. 创建用户itcast ,只能够在当前主机local host访问,密码www654321;

  1. 创建用户 叶婷, 可以在任意主机访问改数据库;密码123456
  2. 修改用户 叶婷的访问密码为www654321
  3. 删除itcast@localhot 用户;

六、DCL--权限控制

小结

 

函数

字符串函数

 数值函数

 

 ........

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_61247494

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值