歌曲伴奏在线制作网站网页设计基础知识点考试
web/
2025/10/3 21:08:35/
文章来源:
歌曲伴奏在线制作网站,网页设计基础知识点考试,海口商城网站建设,企业外包基础篇
MySQL概述
数据库概述
数据库相关概念 主流的关系型数据库管理系统 MySQL数据库的安装与启动
下载#xff1a;MySQL :: MySQL Community Downloads 安装步骤
MySQL―8.0.40超详细保姆级安装教程_mysql8.0.40安装教程-CSDN博客文章浏览阅读1k次。_mysql8.0.40安装教…基础篇
MySQL概述
数据库概述
数据库相关概念 主流的关系型数据库管理系统 MySQL数据库的安装与启动
下载MySQL :: MySQL Community Downloads 安装步骤
MySQL―8.0.40超详细保姆级安装教程_mysql8.0.40安装教程-CSDN博客文章浏览阅读1k次。_mysql8.0.40安装教程https://blog.csdn.net/2403_88677213/article/details/143582509
客户端连接
方式1MySQL提供的客户端命令行工具 方式2系统自带的命令行工具执行指令 mysql [-h 127.0.0.1] [-p 3306] -u root -p (ps:要想在任意的目录下执行mysql指令必须要先配置PATH环境变量 数据模型 关系型数据库(RDBMS)
概念建立在关系模型基础上由多张相互连接的二维表组成的数据库。
特点 1.使用表存储数据格式统一便于维护 2.使用SQL语言操作标准统一使用方便 SQL
SQL通用语法及分类
SQL语句可以单行或多行书写以分号结尾。SQL语句可以使用空格/缩进来增强语句的可读性。MySQL数据库的SQL语句不区分大小写关键字建议使用大写。注释
单行注释--注释内容 或 # 注释内容MySQL持有多行注释/*注释内容*/
SQL分类 DDL
DDL-数据库操作 查询 SHOW DATABASES//查询所有数据库 SELECT DATABASE();//查询当前数据库 创建 CREATE DATABASE [ IF NOT EXISTS ] 数据库名 [ DEFAULT CHARSET 字符集] [ COLLATE 排序规则] 删除 DROP DATABASE [ IF EXISTS ]数据库名 使用 USE 数据库名 DDL-表操作-创建查询
DDL-表操作-查询
查询当前数据库所有表 SHOW TABLES; 查询表结构 DESC表名 查询指定表的建表语句 SHOW CREATE TABLE 表名 DDL-表操作-创建 建表规范 数据库MySQL-表【DDL/DML】_数据库ddl建表规范-CSDN博客文章浏览阅读239次。数据库MySQL-表【DDL/DML】7、表的创建建表7.1、建表的语法格式(建表属于DDL语句DDL包括create drop alter)create table 表名(字段名1 数据类型, 字段名2 数据类型, 字段名3 数据类型);create table 表名(字段名1 数据类型, 字段名2 数据类型, 字段名3 数据类型);表名建议以t_ 或者 tbl_开始可读性强。见名知意。字段名见名知意。表名和字段名都属于标识符。7.2、关于mysql中的_数据库ddl建表规范https://blog.csdn.net/qq_43030934/article/details/123178158
DDL-数据类型及案例 数值类型
类型大小范围有符号范围无符号用途TINYINT1 Bytes(-128127)(0255)小整数值SMALLINT2 Bytes(-32 76832 767)(065 535)大整数值MEDIUMINT3 Bytes(-8 388 6088 388 607)(016 777 215)大整数值INT或INTEGER4 Bytes(-2 147 483 6482 147 483 647)(04 294 967 295)大整数值BIGINT8 Bytes(-9,223,372,036,854,775,8089 223 372 036 854 775 807)(018 446 744 073 709 551 615)极大整数值FLOAT4 Bytes(-3.402 823 466 E38-1.175 494 351 E-38)0(1.175 494 351 E-383.402 823 466 351 E38)0(1.175 494 351 E-383.402 823 466 E38)单精度 浮点数值DOUBLE8 Bytes(-1.797 693 134 862 315 7 E308-2.225 073 858 507 201 4 E-308)0(2.225 073 858 507 201 4 E-3081.797 693 134 862 315 7 E308)0(2.225 073 858 507 201 4 E-3081.797 693 134 862 315 7 E308)双精度 浮点数值DECIMAL对DECIMAL(M,D) 如果MD为M2否则为D2依赖于M和D的值依赖于M和D的值小数值 字符串类型
类型大小用途CHAR0-255 bytes定长字符串VARCHAR0-65535 bytes变长字符串TINYBLOB0-255 bytes不超过 255 个字符的二进制字符串TINYTEXT0-255 bytes短文本字符串BLOB0-65 535 bytes二进制形式的长文本数据TEXT0-65 535 bytes长文本数据MEDIUMBLOB0-16 777 215 bytes二进制形式的中等长度文本数据MEDIUMTEXT0-16 777 215 bytes中等长度文本数据LONGBLOB0-4 294 967 295 bytes二进制形式的极大文本数据LONGTEXT0-4 294 967 295 bytes极大文本数据 TEXT描述文本数据 BLOB描述二进制数据
char类型 定义形式为 char[10] varchar类型定义形式为varchar[10]
注意char(n) 和 varchar(n) 中括号中 n 代表字符的个数并不代表字节个数比如 CHAR(30) 就可以存储 30 个字符。
比较项目CHARVARCHAR空间使用方式定义多大就占用多大空间不足则在右侧填充空格至定义长度根据输入字符串的实际大小来占用空间上限为所定义的大小示例说明定义CHAR(8)存储abc时实际存储为abc 后面 5 个空格填充定义VARCHAR(8)存储abc时只占用存储abc实际所需空间效率层面性能相对较好因为数据长度固定在存储和检索时处理相对简单直接性能相对较差由于其可变长度的特性存储和检索时可能需要更多的处理来确定实际长度等操作适用场景适合存储长度固定的数据如身份证号固定 18 位、邮编固定几位数字等、固定格式的代码等适合存储长度不确定且变化较大的数据如用户评论、文章内容、产品描述等 日期时间类型
类型大小 ( bytes)范围格式用途DATE31000-01-01/9999-12-31YYYY-MM-DD日期值TIME3-838:59:59/838:59:59HH:MM:SS时间值或持续时间YEAR11901/2155YYYY年份值DATETIME81000-01-01 00:00:00 到 9999-12-31 23:59:59YYYY-MM-DD hh:mm:ss混合日期和时间值TIMESTAMP4 1970-01-01 00:00:01 UTC 到 2038-01-19 03:14:07 UTC 结束时间是第 2147483647 秒北京时间 2038-1-19 11:14:07格林尼治时间 2038年1月19日 凌晨 03:14:07 YYYY-MM-DD hh:mm:ss混合日期和时间值时间戳 案例 DDL-表操作-修改
添加字段 ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束] 修改数据类型 ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度) 修改字段名和字段类型 ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束] 删除字段 ALTER TABLE 表名 DROP 字段名 修改表名 ALTER TABLE 表名 RENAME TO 新表名 DDL-表操作-删除
删除表 DROP TABLE 表名; -- 直接删除表不检查是否存在 或 DROP TABLE [IF EXISTS] 表名; -- 会检查是否存在如果存在则删除 删除指定表并重新创建该表 TRUNCATE TABLE 表名 PS在删除表的同时表中的数据也会删除。
DDL总结 MySQL图形化界面工具
DataGrip下载安装及使用教程(详细版)-CSDN博客文章浏览阅读7.2w次点赞44次收藏237次。本文提供了DataGrip的详细安装教程和应用指南。从官网下载最新版本的IDE选择安装路径并进行安装。激活后启动DataGrip新建项目并选择数据库类型。在连接界面配置服务器信息下载驱动测试连接成功后即可开始使用查看和操作数据库。https://blog.csdn.net/m0_70536638/article/details/128860243
DML
DMLData Manipulation Language语句: 数据操纵语言主要是对数据进行增加、删除、修改操作。常用的语句关键字有 INSERT、UPDATE、DELETE 等。
INSERT 添加数据UPDATE 修改数据 DELETE 删除数据
DML-插入 给指定字段添加数据 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...) 小Tips select * from 表名/*在命令行输入完成对表的查看*/ DML-修改数据 UPDATE 表名 SET 字段名1 值1字段名2 值2... [WHERE 条件] 注意修改语句中的条件可以有也可以没有如果没有条件时则会修改整张表的所有数据。
DML-删除数据 DELETE FROM 表名 [WHERE 条件] 注意 DELETE语句的条件可以有也可以没有如果没有条件时则会修改整张表的所有数据。 DELETE语句不能删除某一个字段的值可以使用UPDATE。
DML语句小结 DQL
DQLData Query Language语句数据查询语言主要是对数据进行查询操作。常用关键字有 SELECT、FROM、WHERE 等。
查询关键字SELECT 频次最多
DQL-语法 DQL-基本查询
1.查询多个字段 SELECT 字段1,字段2,字段3,... FROM 表名 SELECT * FROM 表名 2.设置别名 SELECT 字段1 [ AS 别名1 ]字段2 [ AS 别名2 ] ... FROM 表名 3.去除重复记录 SELECT DISTINCT 字段列表 FROM 表名 DQL-条件查询
1.语法 SELECT 字段列表 FROM 表名 WHERE 条件列表 2.条件 DQL-聚合函数
1.介绍 将一列数据作为一个整体进行纵向计算。
2.常见聚合函数 3.语法 SELECT 聚合函数字段列表FROM 表名; DQL-分组查询
1.语法 SELECT 字段列表 FROM [ WHERE 条件 ] GROUP BY 分组字段名 [ HAVING 分组后过滤条件 ] 2.where与having区别
执行时机不同where是分组之前进行过滤不满足where条件不参与分组而having是分组之后对结果进行过滤。判断条件不同where不能对聚合函数进行判断而having可以。
注意
执行顺序where聚合函数having。
分组之后查询的字段一般为聚合函数和分组字段查询其他字段无任何意义。
DQL-排序查询
1.语法 SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1,字段2 排序方式2; 2.排序方式
ASC升序默认值DESC降序
注意如果是多字段排序当第一个字段值相同时才会根据第二个字段进行排序。
DQL-分页查询
1.语法 SELECT 字段列表 FROM 表名 LIMIT 起始索引查询记录数 注意
起始索引从0开始起始索引 查询页码 -1* 每页显示记录数。分页查询是数据库的方言不同的数据库有不同的实现MySQL中是LIMIT。如果查询的是第一页数据起始索引可以省略直接写为 limit 10。
DQL-执行顺序 DQL-小结 DCL
DCLData Control Language语句 数据控制语言主要是用来设置/更改数据库用户权限。常用关键字有 GRANT、REVOKE 等。
DCL-用户管理
1.查询用户 USE mysql SELECT * FROM user 2.创建用户 CREATE USER 用户名主机名 IDENTIFIED BY 密码 3.修改用户密码 ALTER USER 用户名主机名 IDENTIFIED WITH mysql_native_password BY 新密码 4.删除用户 DROP USER 用户名主机名 注意
主机名可以使用%通配这类SQL开发人员操作的比较少主要是DBADatabase Administrator 数据库管理员使用。
练习
--创建用户itcast 只能够在当前主机localhost访问密码123456;
create user itcastlocalhost identified by 123456;--创建用户 heima 可以在任意主机访问该数据库密码123456;
create user heima% identified by 123456;--修改用户heima 的访问密码 1234;
alter user heima% identified with mysql_native_password BY 1234;--删除itcastlocalhost用户
drop user itcastlocalhost;
DCL-权限控制
常用 1.查询权限 SHOW GRANTS FOR 用户名主机名 2.授予权限 GRANT 权限列表 ON 数据库名.表名 TO 用户名主机名 3.撤销权限 REVOKE 权限列表 ON 数据库名.表名 FROM 用户名主机名 注意
多个权限之间使用逗号分隔授权时数据库名和表名可以使用*进行通配代表所有。
DCL-小结 函数 是指一段可以直接被另一段程序调用的程序或代码。
字符串函数 运用函数是尽量不要出现 函数 (s1,s2,s3...) 函数中间尽量不要有空格 SELECT 函数(参数) 数值函数 日期函数 流程控制函数 约束
概述
1.概述约束是作用于表中字段上的规则用于限制存储在表中的数据。
2.目的保证数据库中数据的正确有效性和完整性。
3.分类 注意约束是作用于表中字段上的可以在创建表/修改表的时候添加约束。
主要归类为列级约束和表级约束 列级约束NOT NULL | DEFAULT | PRIMARY KEY | UNIQUE | CHECK表级约束PRIMARY KEY | UNIQUE | CHECK | FOREIGN KEY 约束演示
--------------约束演示-------------------
create table user
(id int primary key auto_increment comment 主键,name varchar(10) not null unique comment 姓名,age int check (age 0 age 120 ) comment 年龄,status char(1) default 1 comment 状态,gender char(1) comment 性别
)comment 用户表;---------插入数据
insert into user(name,age,status,gender) values (Tom1,10,1,男),(Tom2,9,1,女);
insert into user(name,age,status,gender) values (Tom3,10,1,男);insert into user(name,age,status,gender) values (null,10,1,男);#报错[23000][1048] Column name cannot be null
insert into user(name,age,status,gender) values (Tom3,10,1,男);#报错[23000][1062] Duplicate entry Tom3 for key user. nameinsert into user(name,age,status,gender) values (Tom4,80,1,男);
insert into user(name,age,status,gender) values (Tom5,-1,1,男);#报错[HY000][3819] Check constraint user_chk_1 is violated.
insert into user(name,age,status,gender) values (Tom6,121,1,男);#报错[HY000][3819] Check constraint user_chk_1 is violated.insert into user(name,age,gender) values (Tom7,120,男);#给予默认值外键约束 概念
外键用来让两张表的数据之间建立连接从而保证数据的一致性和完整性。 语法
添加外键 删除外键 外键删除/更新行为 ## 语法cascade可替换 alter table emp add constraint fk_emp_dept_id foreign key(dept_id) references dept(id) on update cascade on delete cascade ; 小结 多表查询
多表关系
概述
项目开发中在进行数据库表结构设计时会根据业务需求及业务模块之间的关系分析并设计表结构由于业务之间相互关联所以各个表结构之间也存在着各种联系基本上分为三种
一对多多对一多对多一对一
一对多多对一 多对多 一对一 多表查询概述
概述指从多张表中查询数据
笛卡尔积笛卡尔乘积是指在数学中两个集合 A集合和B集合的所有组合情况。在多表查询时需要消除无效的笛卡尔积 真正需要的 多表查询的分类 连接查询
内连接 外连接 自连接 联合查询 查询语句A得表A unionall 查询语句B得表B 子查询 标量子查询
子查询返回的结果是单个值数字、字符串、日期等最简单的形式这种子查询称为标量子查询。
常用的操作符
列子查询
子查询返回的结果是一列可以是多行这种子查询称为列子查询。
常用的操作符IN、NOT IN、ANY、SOME、ALL 行子查询
子查询返回的结果是一行可以是多行,这种子查询称为行子查询。
常用的操作符 、、IN、NOT IN
表子查询
子查询返回的结果是多行多行,这种子查询称为表子查询。
常用的操作符IN
案例演示
要求
准备数据
-- 准备数据
create table dept(id int auto_increment comment ID primary key,name varchar(50) not null comment 部门名称
)comment 部门表;
INSERT INTO dept (id, name) VALUES (1, 研发部), (2, 市场部),(3, 财务部), (4, 销售部), (5, 总经办);alter table emp add constraint fk_emp_dept_id foreign key (dept_id) references dept(id);create table emp(id int auto_increment comment ID primary key,name varchar(50) not null comment 姓名,age int comment 年龄,job varchar(20) comment 职位,salary int comment 薪资,entrydate date comment 入职时间,managerid int comment 直属领导ID,dept_id int comment 部门ID
)comment 员工表;INSERT INTO emp (id, name, age, job,salary, entrydate, managerid, dept_id) VALUES(1, 金庸, 66, 总裁,20000, 2000-01-01, null,5),(2, 张无忌, 20, 项目经理,12500, 2005-12-05, 1,1),(3, 杨逍, 33, 开发, 8400,2000-11-03, 2,1),(4, 韦一笑, 48, 开发,11000, 2002-02-05, 2,1),(5, 常遇春, 43, 开发,10500, 2004-09-07, 3,1),(6, 小昭, 19, 程序员鼓励师,6600, 2004-10-12, 2,1);create table salgrade(grade int,losal int,hisal int
)comment 薪资等级表insert into salgrade value(1,0,3000);
insert into salgrade value(2,3001,5000);
insert into salgrade value(31,5001,8000);
insert into salgrade value(4,8001,10000);
insert into salgrade value(5,10001,15000);
insert into salgrade value(6,15001,20000);
insert into salgrade value(7,20001,25000);
insert into salgrade value(8,25001,30000);-- 案例
-- 1、查询员工姓名、年龄、部门信息隐式内连接
-- 表emp , dept
-- 连接条件 emp.dep_id dep.id
select e.name,e.age, e.job,d.name from emp e,dept d where e.dept_id d.id;-- 2、查询年龄大于20的员工姓名、年龄、部门信息 显示内连接
-- 表emp , dept
-- 连接条件 emp.dep_id dep.id
select e.name,e.age,e.job,d.name from emp e inner join dept d on e.dept_id d.id where e.age 20;-- 3、查询拥有员工的部门ID、部门名称 (部门表和员工表交集的部分)
-- 表emp , dept
-- 连接条件 emp.dep_id dep.id
-- distinct 去重
select distinct d.id, d.name from emp e,dept d where e.dept_id d.id;-- 4、查询所有年龄大于25的员工及其归属的部门名称如果没有分配部门也要展示出来
-- 表emp , dept
-- 连接条件 emp.dep_id dep.id
-- 外连接
select e.*,d.name from emp e left join dept d on d.id e.dept_id where e.age 25;-- 5、查询所有员工工资等级
-- 表emp , salgrade
-- 连接条件 emp.salary salgrade.losal emp.salary salgrade.hisal
select e.*, s.grade, s.losal,s.hisal from emp e,salgrade s where e.salary s.losal e.salary s.hisal;
select * from emp e ,salgrade s where e.salary between s.losal and s.hisal;-- 6、查询研发部所有员工信息及工资等级
-- 表emp , salgrade dep
-- 连接条件 e.salary between s.losal and s.hisal; emp.dep_id dep.id
-- 查询条件dept.dept 研发部
select e.*, s.grade
from emp e,dept d,salgrade s
where (e.salary between s.losal and s.hisal)and e.dept_id d.idand d.name 研发部;-- 7、查询研发部员工的平均工资
-- 表emp , dep
-- 连接条件 emp.dep_id dep.id
select avg(e.salary)
from emp e,dept d
where e.dept_id d.idand d.name 研发部;-- 8、查询工资比小昭高的员工信息
-- 表emp
select *
from emp e
where salary (select e.salary from emp e where e.name 小昭);-- 9、查询比平均工资高的员工信息
-- 表emp
select *
from emp e
where salary (select avg(salary) from emp);-- 10、查询低于本部门平均工资的员工
-- 表emp , dept
-- 连接条件 emp.dep_id dep.id
select *
from emp e2
where e2.salary (select avg(e1.salary) from emp e1 where e1.dept_id e2.dept_id);-- 11、查询所有部门的信息并统计部门的员工人数
select d.id,d.name ,(select count(*) from emp e where e.dept_id d.id) 人数 from dept d;
小结 事务
事务简介
一组操作的集合它是不可分割的工作单位事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求即这些操作要么同时成功要么同时失败。默认MySQL的事务是自动提交的也就是说当执行一条DML语句MySQL会立即隐式的提交事务。
操作演示
-- 数据准备
create table account(id int auto_increment primary key comment 主键ID,name varchar(10) comment 姓名,monney int comment 余额
) comment 账户表;insert into account (id, name, monney)
values (null,张三,2000),(null,李四,2000);-- 恢复数据
update account set monney 2000 where name 张三 or name 李四;-- 张三给李四转账1000
select * from account where name 张三;
update account set monney monney - 1000 where name 张三;
程序抛出异常...
update account set monney monney 1000 where name 李四; select autocommit;
set autocommit 0;-- 张三给李四转账1000
select * from account where name 张三;
update account set monney monney - 1000 where name 张三;
update account set monney monney 1000 where name 李四;-- 提交事务
commit ;-- 回滚事务
rollback ; -- 张三给李四转账1000
start transaction ;
select * from account where name 张三;
update account set monney monney - 1000 where name 张三;
update account set monney monney 1000 where name 李四;
commit ;
rollback ;
事务四大特性 并发事务问题 事务隔离级别 MySQL默认为 Repeatable Read默认 Orcle默认为Read committed 注事务隔离级别越高数据越安全但是性能越低 。
小结
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/86416.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!