MySQL笔记

本文详细介绍了MySQL的基础操作,包括查询数据库、创建与修改表、数据的增删改查以及事务处理。此外,还深入探讨了多表查询的技巧,如内连接、外连接和子查询,帮助读者掌握高效的数据查询方法。同时,文章强调了数据库设计中的约束原则,如非空、唯一和主键约束,确保数据的完整性和一致性。
摘要由CSDN通过智能技术生成

目录

基础操作:

对数据进行操作:

添加:

查找:

修改:

删除:

查询操作:

约束:

数据库的设计:

     多表查询:

事务:


基础操作:

        查询所有数据库:show databases;

        进入别的数据库中:use 数据库名字;

        查看数据库下的表:show tables;

        查看表结构:desc 表名;

        查看当前所在数据库: select database();

        创建表:create table 表名 (

                字段名1 数据类型1,

                字段名2 数据类型2

        );

                        注意:最后一行不加逗号

        删除表:drop table if exists 表名;

        修改表:

                修改表名:alter table 表名 rename to 新的表名;

                添加一列:alter table 表名 add 列名 数据类型;

                修改数据类型:alter table 表名 modify 列名 新数据类型;

                修改列名和数据类型;alter table 表名 change 列名 新列名 新数据类型;

                删除列:alter table 表名 drop 列名;

对数据进行操作:

添加:

        给指定列添加数据:insert into 表名(列名1,列名2,.;....)  values  (值1,值2,.......);

       

        给全部列添加数据:insert into 表名 values(值1,值2,...);

       

        批量添加数据:insert into 表名(列名1,列名2,...) values (值1,值2,...),(值1,值2,...)...;

        insert into 表名 values (值1,值2,...),(值1,值2,...),(值1,值2,...);

查找:

        查找全部:select * from 表名;

修改:

        修改表数据:update 表名 set 列名1=值1,列名2=值2,...[where 条件];

                注意:修改语句中如果不加条件,则将所有数据都修改!

删除:

        删除数据:delete from 表名 [where 条件];

                注意:如果不加条件,会删除表中所有数据

查询操作:

  •         基础查询
  •         条件查询(where)
  •         分组查询(group by)
  •         排序查询(order by)
  •         分页查询(limit)

               查询语法:select 字段列表 from 表名列表 where 条件列表 group by 分组字段         

                                having 分组后条件 order by 排序字段 limit 分页绑定

               

                去重:select distingct 字段列表 from 表名列表     去重操作使用的是distingct

               

                别名:使用as定义别名

               

                排序查询:select 字段列表 from 表名 order by 排序字段名1 [排序方式1],

                        排序字段名2 [排序方式2],....      ASC,升序排序(默认),DESC吗,降序排序

              

                 聚合函数:select 聚合函数名(列名) from 表;

                                注意:null值不参与所有聚合函数运算

                                函数名及其功能:

  •                                 count(列名)  统计数量(一般选用不为null的列
  •                                  max(列名)    最大值
  •                                  min(列名)     最小值
  •                                  sum(列名)    求和
  •                                  avg(列名)      平均值

                分组查询:select 字段列表 from 表名 [where 分组前条件限定] group by

                                 [hiving 分组后条件过滤]

                          注意:分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义

                分页查询:select 字段列表 from 表名 limit 起始索引,查询条目数

                                起始索引:从0开始

                                计算公式:起始索引=(当前页码-1)*  每页显示的条数

约束:

  • 非空约束:保证列中所有数据不能有null值        NOT NULL
  • 唯一约束:保证列中所有数据各不相同              UNIQUE
  • 主键约束:主键是一行数据的唯一标识,要求非空且唯一  PRIMARY KEY
  • 检查约束:保证列中的值满足某—条件       CHECK
  • 默认约束:保存数据时,未指定值则采用默认值     DEFAULT
  • 外键约束:外键用来让两个表的数据之间建立链接,保证数据的一致性和完整性  FOREIGN KEY

                                     建表约束添加形式

 备注:这里id自增长没有实现,自增长字段 auto_increment,上述员工id应设置为 id INT PRIMARY KEY auto_increment

外键约束:

数据库的设计:

     多表查询:

             基础查询语法:select * from 表名1,表名2;

             

              消除无效数据查询:select * from 表名1,表名2 where 表名1.id = 表名2.id;   

              

                内连接:

                        隐式内连接:select 字段列表 from 表1,表2.... where 条件;       

                        显式内连接:select 字段列表 from 表1 [INNER] JOIN 表2 ON 条件;

                        内连接相当于查询A B交集数据

               

                   外连接:

                        左外连接:select 字段列表 from 表1 left [outer] join 表2 on 条件;

                        右外连接:select 字段列表 from 表1 right [outer] join 表2 on 条件;

                        左外连接:相当于查询左表所有数据和交集部分数据

                        右外连接:相当于查询右表所有数据和交集部分数据

                

                子查询:

                        查询中嵌套查询

                        单行单列:作为条件值,使用=  !=  > < 等进行条件判断

                                select 字段列表 from 表 where 字段名 = (子查询);

                        多行单列:作为条件值,使用in等关键字进行条件判断

                                select 字段列表 from 表 where 字段名 in (子查询);

                        多行多列:作为虚拟表

                                select 字段列表 from (子查询)where 条件;

        

事务:

         事务操作:第一步:开启事务        being;

                        第二步:书写事务的主体

                        第三步:提交事务        commit ;

                        or          回滚事务        rollback ;

事务四大特征:

 

                

                   

 

                

                        

                     

        

        

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不会编程的喵星人

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

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

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

打赏作者

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

抵扣说明:

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

余额充值