后端开发必备:MySQL数据库与表的创建及数据CRUD操作实战

📅 2026/7/13 21:25:41
后端开发必备:MySQL数据库与表的创建及数据CRUD操作实战
前言在大学已经上过数据库课程的同学可以直接跳过这个去看后续我会发的函数部分因为Java中一般不需要你把数据库学的很牛学会基本的crud也就是我们平常在说的增删改查再加上一些窗口函数即可。一.MySQL数据库1.关系型数据库RDBMS含义建立在关系模型基础上由多张互相来连接的二维表组成的数据库 即通过表结构来进行数据存储。特点使用表存储数据格式统一便于维护使用SQL语言操作标准统一使用方便注不通过表结构来存储数据的则称为非关系型数据库2.数据模型二.SQL1.SQL通用语法SQL语句可以单行or多行书写以分号结尾SQL语句可以使用空格/缩进来增强语句的可读性MySQL数据库的SQL语句不区分大小写关键字建议使用大写注释单行注释--注释内容 or #注释内容MySQL持有多行注释/*注释内容*/2.SQL的分类1DDL数据定义语言数据类型汇总注意在删除表的同时表中的全部数据也会被全部删除2DML数据操作语言注意插入数据时指定的字段顺序需要与值的顺序是一一对应的字符串和日期型数据应该包含在引号中插入的数据大小应该在字段的规定范围内注修改语句的条件可以有也可以没有如果没有条件则会修改整张表的数据注意DELETE语句的条件可以有也可以没有如果没有条件则会删除整张表的数据DELETE语句不能删除某一个字段的值可以使用UPDATE3DQL数据查询语言-- 查询年龄等于18或20或40的员工信息 select * from emp where age 18 or age 20 or age 40; select * from emp where age in(18,20,40); --上述这两种效果是一样的in的效果就是后续值能够满足其一即可注null值不参与所有聚合函数运算where和having的区别执行时机不同where是分组之前进行过滤不满足where条件不参与分组而having是分组之后对结果进行过滤判断条件不同where不能对聚合函数进行判断而having可以注意执行顺序where聚合函数having分组之后查询的字段一般为聚合函数和分组字段查询其他字段无任何意义排序方式ASC升序默认值DESC降序注意如果是多字段排序当第一个字段值相同时才会根据第二个字段进行排序-- 根据年龄对公司的员工进行升序排序年龄相同再按照入职时间进行升序排序 select * from emp order by age asc,entrydate desc; --意思就是先按照年龄进行排序如果年龄相同则按照入职时间排序注意起始索引从0开始起始索引 查询页码-1*每页显示记录数分页查询是数据库的方言不同的数据库有不同的实现MySQL中是LIMTIT如果查询的是第一页数据起始索引可以省略直接简写为limit 104DCL数据控制语言-- 创建用户itcast只能够在为当前主机localhost访问密码123456 creat user itcastlocalhost identified by 123456; --创建用户heima可以在任意主机访问该数据库密码123456 creat user heima% identified by 123456; --修改用户heima 的访问密码1234 alter user heima% identified with mysql_native_password by 1234; --删除itcastlocalhost用户 drop user itcastlocalhost;注意主机名可以使用“%”进行通配代表任意主机都可以访问该mysql服务器这类SQL语句开发人员操作较少主要是DBA数据库管理员和运维在更多使用所以如果是单纯进行开发则这类语句不用重点学习注如果是给所有的数据库和所有的表来赋予权限就可以在数据库名.表名写 *.* 此外多个权限之间使用逗号分隔