MySQL数据库从小白到入门(一)

news2025/3/1 22:25:33

MySQL概述:


        MySQL连接:

打开cmd窗口

  •             window + r 输入 cmd
  • 输入mysql -u用户名 -p密码;  示例:mysql -uroot -p1234;  这种方式登录mysql,会出现警告,建议使用下面这种。
  • mysql -uroot -p 然后回车 输入密码,在回车就登录到了mysql。

演示:

打开cmd

效果:

安全连接:            
  •     window + r 输入 cmd 输入mysql -u用户名 -p密码;  示例:mysql -uroot -p1234;  这种方式登录mysql,不会出现警告,建议使用下面这种。
  • mysql -uroot -p 然后回车 输入密码,在回车就登录到了mysql。


                
            MySQL企业开发模式:


                语法:mysql -uroot 用户名 -p密码[-h数据库服务器地址 -p端口号]
                连接测试:mysql -h47.98.197.98 -P3306 -uroot -p 回车然后输入密码。


        关系型数据库(RDBMS)

建立在关系模型基础上,由多张相互连接的二维表组成的数据库。

        
特点:

  •             使用表存储数据,格式统一,便于维护。
  •             使用SQL语言操作,标准统一,使用方便,用于复杂查询。


    SQL简介:


        SQL:一门操作关系型数据库的编程语言,定义操作所有关系型数据库的统一标准。

     
            DDL:

 Data Definition Language    数据库定义语言,定义数据库对象(数据库,表,字段)


            DML:

Data Manipulation Language   数据操作语言,用来对数据库表中的数据进行增删改


            DQL:

Data Query Language   数据库查询语言,用来查询数据库中表的记录


            DCL:

Data Control Language  数据控制语言,控制创建数据库用户,控制数据库的访问权限


        通用语法:

  •             SQL语句可以单行或多行书写,以分号结尾。
  •             SQL语句可以使用空格/缩进来增强语句的可读性。
  •             MySQL数据库的SQL语句不区分大小写。

        注释:

  •             单行注释:-- 注释内容或者#注释内容
  •             多行注释:/*  注释内容*/


    DDL详解:

        数据库 相关语法:

                查询所有数据库:


                    show databases;

 效果:


              
 查询当前数据库:


                    select database();

效果:

 


              
 使用/切换数据库:


                    use 数据库名  use 数据库名

效果:

 


                创建数据库:


                    create database [if not exists]数据库名 [default charset utf8mb4];

效果: 

效果2:

 


                删除数据库:


                    drop database [if exists] 数据库名;

效果:


                上述语法中的database,也可以替换成 schema。

如:create schema db01; MySQL8版本中,默认字符集为utf8mb4

        表(创建,查询,修改,删除)

            建表:


             create table 表名( 字段1 字段类型  [约束]  [comment 字段1注释])comment '表注释';

                        代码:


create table if not exists depts(
    id int unsigned comment 'ID',
    name varchar(10) comment '部门名称',
    address varchar(50)  comment '部门地址'
) comment '部门表';

             

create table  employee(
    id int unique comment 'ID',
    emp_name varchar(10) comment '员工姓名',
    gender char(1) comment '1 代表男 2代表女'
) comment '员工表';

  效果:


                约束:


                    约束是作用于表中字段上的规则,用于限制存储在表中的数据


                    非空约束:


                        限制该字段值不能为null       not null


                    唯一约束:


            保证字段的所有数据都是唯一、不重复的      unique


                    主键约束:


   主键是一行数据的唯一标识,要求非空且唯一       primary key  auto_increment


                    默认约束:


                        保存数据时,如果未指定该字段值,则采用默认值   default


                    外键约束:


    让两张表的数据建立连接,保证数据的一致性和完整性     foreign key 


                目的:
                    保证数据库中数据的正确性、有效性和完整性。

代码:

create table emp(
    id int unsigned primary key auto_increment comment 'ID,主键',
    username varchar(20) not null unique comment '用户名',
    password varchar(50) default '123456' comment '密码',
    name varchar(10) not null comment '姓名',
    gender tinyint unsigned not null comment '1 代表男,2 代表女',
    phone char(11) not null unique comment '手机号',
    job tinyint unsigned comment '1 代表班主任,2 代表讲师,3 代表学工主管,4 代表教研主管,5 代表咨询师' comment '职位',
    salary int unsigned comment '薪资',
    image varchar(300) comment '头像',
    entry_date date comment '入职日期',
    create_time datetime comment '创建时间',
    update_time datetime comment '最后修改时间'
)comment '员工表';
        语法:


            show table --查询当前数据库的所有表

show tables ;


            desc 表名; -- 查询表结构

        

desc employee;

 

            show create table 表名; -- 查询建表语句

show create table employee;

 

            alter table 表名 add 字段名 类型(长度) [comment 注释] [约束]; -- 添加字段


alter table employee add qq char(11) ;

            alter table 表名 modify 字段名 新数据类型(长度); -- 修改字段类型


alter table employee modify qq char(13);

            alter table 表名 change 旧字段名 新字段名 类型(长度) [comment 注释] [约束]; -- 修改字段名与字段类型

alter table employee change qq qq_num char(15);

            alter table 表名 drop column 字段名; -- 删除字

alter table employee drop column qq_num;


          

 alter table 表名 to 新表名; -- 修改表名

 

alter table employee rename  to emps;

            drop table [if exists] 表名; -- 删除表

drop table if exists emps;

    DML:

        数据类型:


     MySQL中的数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型。

            数值类型:

  •                 tinyint     
  •                 int          
  •                 bigint   
  •                 float     float(5,2) 5表示整个数字长度  2 表示小数位数的个数
  •                double   double(6,3) 6表示整个数字的长度 3表示小数位数的个数
  •                decimal  decimal(5,2) 5 表示整个数字长度,3 表示小数位数的个数

年龄     tinyint  unsigned

ID       int unsigned

            字符串类型:


    char 定长字符串

           char(10)    A 占用10个空间;ABC 占用10个空间 ;ABCDE 占用10个空间;性能高
varchar  变长字符串

         varchar(10)   A 占用10个空间;ABC 占用3个空间 ABCDE 占用5个空间 


            日期时间类型:

  •                 date  日期格式 年月日
  •                 time 时间格式   时分秒
  •                 datetime 年月日 时分秒

        添加数据(insert)


            -- 指定字段添加数据
insert into 表名(字段名1, 字段名2) values (值1, 值2); 

      

-- 指定字段添加数据 (username name password gender phone )
insert into emp(username, name,password,gender,phone,create_time,update_time)
values('Tom','汤姆','1234',1,'12345678911',now(),now());

   -- 全部字段添加数据
insert into 表名 values (值1, 值2, ...);

# 所有字段插入数据
insert into emp(id, username, password, name, gender, phone, job, salary, image, entry_date, create_time, update_time)
values(null,'Tom1','汤姆1','1234',1,'12345678912',2,5980,'1.png','2021-09-12',now(),now());

# 简写
insert into emp values(null,'Tom2','汤姆2','1234',1,'12345678913',2,5980,'1.png','2021-09-12',now(),now());

            -- 批量添加数据(指定字段)
insert into 表名 (字段名1, 字段名2)  values (值1, 值2), (值1, 值2);

#批量插入指定字段
insert into emp(username,name,password,gender,phone)
values('jom','吉姆','1234',2,'12343434342',now(),now()),
      ('jom','吉姆','1234',2,'12343434342',now(),now());

            -- 批量添加数据(全部字段)
insert into 表名 values (值1, 值2, ...), (值1, 值2, ...);

# 批量插入
insert into emp
values(null,'Tom3','汤姆3','1234',1,'12345678914',2,5980,'1.png','2021-09-12',now(),now()),
      (null,'Tom4','汤姆4','1234',1,'12345678915',2,5980,'1.png','2021-09-12',now(),now());
        修改数据(update)


            -- 修改数据
update 表名 set 字段名1 = 值1 , 字段名2 = 值2 , .... [ where  条件 ] 

-- 1. 将 emp 表的ID为1员工 姓名name字段更新为 '张三'
update emp set name = '张三' where  id = 1;


            修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。

-- 2. 将 emp 表的所有员工的 入职日期(entry_date) 更新为 '2010-01-01'
update emp set entry_date = '2010-01-01';
        删除数据(delete)


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

-- 1. 删除 emp 表中 ID为1的员工
    delete from emp where id = 1;

  •         DELETE 语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据
  •         DELETE 语句不能删除某一个字段的值(如果要操作,可以使用UPDATE,将该字段的值置为NULL)
-- 2. 删除 dept 表中的所有员工
    delete from dept;

    DQL:

  
create table emp(
    id int unsigned primary key auto_increment comment 'ID,主键',
    username varchar(20) not null unique comment '用户名',
    password varchar(32) not null comment '密码',
    name varchar(10) not null comment '姓名',
    gender tinyint unsigned not null comment '性别, 1:男, 2:女',
    phone char(11) not null unique comment '手机号',
    job tinyint unsigned comment '职位, 1:班主任,2:讲师,3:学工主管,4:教研主管,5:咨询师',
    salary int unsigned comment '薪资',
    image varchar(300) comment '头像',
    entry_date date comment '入职日期',
    create_time datetime comment '创建时间',
    update_time datetime comment '修改时间'
) comment '员工表';


-- 准备测试数据
INSERT INTO emp(id, username, password, name, gender, phone, job, salary, image, entry_date, create_time, update_time)
VALUES (1,'shinaian','123456','施耐庵',1,'13309090001',4,15000,'1.jpg','2000-01-01','2023-10-27 16:35:33','2023-10-27 16:35:35'),
     (2,'songjiang','123456','宋江',1,'13309090002',2,8600,'2.jpg','2015-01-01','2023-10-27 16:35:33','2023-10-27 16:35:37'),
     (3,'lujunyi','123456','卢俊义',1,'13309090003',2,8900,'3.jpg','2008-05-01','2023-10-27 16:35:33','2023-10-27 16:35:39'),
     (4,'wuyong','123456','吴用',1,'13309090004',2,9200,'4.jpg','2007-01-01','2023-10-27 16:35:33','2023-10-27 16:35:41'),
     (5,'gongsunsheng','123456','公孙胜',1,'13309090005',2,9500,'5.jpg','2012-12-05','2023-10-27 16:35:33','2023-10-27 16:35:43'),
     (6,'huosanniang','123456','扈三娘',2,'13309090006',3,6500,'6.jpg','2013-09-05','2023-10-27 16:35:33','2023-10-27 16:35:45'),
     (7,'chaijin','123456','柴进',1,'13309090007',1,4700,'7.jpg','2005-08-01','2023-10-27 16:35:33','2023-10-27 16:35:47'),
     (8,'likui','123456','李逵',1,'13309090008',1,4800,'8.jpg','2014-11-09','2023-10-27 16:35:33','2023-10-27 16:35:49'),
     (9,'wusong','123456','武松',1,'13309090009',1,4900,'9.jpg','2011-03-11','2023-10-27 16:35:33','2023-10-27 16:35:51'),
     (10,'lichong','123456','林冲',1,'13309090010',1,5000,'10.jpg','2013-09-05','2023-10-27 16:35:33','2023-10-27 16:35:53'),
     (11,'huyanzhuo','123456','呼延灼',1,'13309090011',2,9700,'11.jpg','2007-02-01','2023-10-27 16:35:33','2023-10-27 16:35:55'),
     (12,'xiaoliguang','123456','小李广',1,'13309090012',2,10000,'12.jpg','2008-08-18','2023-10-27 16:35:33','2023-10-27 16:35:57'),
     (13,'yangzhi','123456','杨志',1,'13309090013',1,5300,'13.jpg','2012-11-01','2023-10-27 16:35:33','2023-10-27 16:35:59'),
     (14,'shijin','123456','史进',1,'13309090014',2,10600,'14.jpg','2002-08-01','2023-10-27 16:35:33','2023-10-27 16:36:01'),
     (15,'sunerniang','123456','孙二娘',2,'13309090015',2,10900,'15.jpg','2011-05-01','2023-10-27 16:35:33','2023-10-27 16:36:03'),
     (16,'luzhishen','123456','鲁智深',1,'13309090016',2,9600,'16.jpg','2010-01-01','2023-10-27 16:35:33','2023-10-27 16:36:05'),
     (17,'liying','12345678','李应',1,'13309090017',1,5800,'17.jpg','2015-03-21','2023-10-27 16:35:33','2023-10-27 16:36:07'),
     (18,'shiqian','123456','时迁',1,'13309090018',2,10200,'18.jpg','2015-01-01','2023-10-27 16:35:33','2023-10-27 16:36:09'),
     (19,'gudasao','123456','顾大嫂',2,'13309090019',2,10500,'19.jpg','2008-01-01','2023-10-27 16:35:33','2023-10-27 16:36:11'),
     (20,'ruanxiaoer','123456','阮小二',1,'13309090020',2,10800,'20.jpg','2018-01-01','2023-10-27 16:35:33','2023-10-27 16:36:13'),
     (21,'ruanxiaowu','123456','阮小五',1,'13309090021',5,5200,'21.jpg','2015-01-01','2023-10-27 16:35:33','2023-10-27 16:36:15'),
     (22,'ruanxiaoqi','123456','阮小七',1,'13309090022',5,5500,'22.jpg','2016-01-01','2023-10-27 16:35:33','2023-10-27 16:36:17'),
     (23,'ruanji','123456','阮籍',1,'13309090023',5,5800,'23.jpg','2012-01-01','2023-10-27 16:35:33','2023-10-27 16:36:19'),
     (24,'tongwei','123456','童威',1,'13309090024',5,5000,'24.jpg','2006-01-01','2023-10-27 16:35:33','2023-10-27 16:36:21'),
     (25,'tongmeng','123456','童猛',1,'13309090025',5,4800,'25.jpg','2002-01-01','2023-10-27 16:35:33','2023-10-27 16:36:23'),
     (26,'yanshun','123456','燕顺',1,'13309090026',5,5400,'26.jpg','2011-01-01','2023-10-27 16:35:33','2023-10-27 16:36:25'),
     (27,'lijun','123456','李俊',1,'13309090027',5,6600,'27.jpg','2004-01-01','2023-10-27 16:35:33','2023-10-27 16:36:27'),
     (28,'lizhong','123456','李忠',1,'13309090028',5,5000,'28.jpg','2007-01-01','2023-10-27 16:35:33','2023-10-27 16:36:29'),
     (29,'songqing','123456','宋清',1,'13309090029',5,5100,'29.jpg','2020-01-01','2023-10-27 16:35:33','2023-10-27 16:36:31'),
     (30,'liyun','123456','李云',1,'13309090030',NULL,NULL,'30.jpg','2020-03-01','2023-10-27 16:35:33','2023-10-27 16:36:31');


        为了演示下面的案例,我们先创建一个表,并插入一些数据 


            基本查询(select...from...)


                -- 查询多个字段
select 字段1,字段2,字段3 from 表名;

              

-- 1. 查询指定字段 name,entry_date 并返回
    select name,entry_date from emp;

 -- 查询所有字段(通配符)
select * from 表名;

-- 2. 查询返回所有字段
-- 方式一
select  id, username, password, name, gender, phone, job, salary, image, entry_date, create_time, update_time from emp;
-- 方式二
select * from emp;

              

 -- 为查询字段设置别名,as关键字可以省略
select 字段1 [as 别名1], 字段2 [as 别名2] from 表名

-- 3. 查询所有员工的 name,entry_date, 并起别名(姓名、入职日期)
-- 方式一
select  name as '姓名',entry_date as '入职日期' from emp;
-- 方式二  as 是可以省略的
select  name '姓名',entry_date '入职日期' from emp;


                -- 去除重复记录
select distinct 字段列表 from 表名

-- 4. 查询已有的员工关联了哪几种职位(不要重复)
select distinct job '职位' from emp;


            

条件查询(where)

    
                -- 条件查询
select 字段列表 from 表名 where 条件列表 

--  =================== DQL: 条件查询 ======================
-- 1. 查询 姓名 为 柴进 的员工
select * from emp where name = '柴进';

-- 2. 查询 薪资小于等于5000 的员工信息

select * from emp where  salary <= 5000;

select * from emp where salary between 0 and 5000;
-- 3. 查询 没有分配职位 的员工信息

select * from emp where  job is null ;
-- 4. 查询 有职位 的员工信息
select * from emp where job is not null ;

-- 5. 查询 密码不等于 '123456' 的员工信息

select * from emp where password != '123456';

select * from emp where password <> '123456';
-- 6. 查询 入职日期 在 '2000-01-01' (包含) 到 '2010-01-01'(包含) 之间的员工信息

select * from emp where entry_date between '2000-01-01' and '2010-01-01';
-- 7. 查询 入职时间 在 '2000-01-01' (包含) 到 '2010-01-01'(包含) 之间 且 性别为女 的员工信息

select * from emp where entry_date between '2000-01-01' and '2010-01-01' and gender = 2;
-- 8. 查询 职位是 2 (讲师), 3 (学工主管), 4 (教研主管) 的员工信息

select * from emp where job = 2 or job = 3 or job = 4;
select * from emp where job in (2,3,4);
-- 9. 查询 姓名 为两个字的员工信息
select * from emp where name like '__';

-- 10. 查询 姓 '李' 的员工信息

select * from emp where name like '李%';
-- 11. 查询 姓名中包含 '二' 的员工信息

select * from emp where name like '%二%';

            分组查询(group by)

                聚合函数:


                    将一列数据作为一个整体,进行纵向计算
                    
                    null值不参与所有聚合函数的运算 。

                  

 统计数量可以使用:count(*)   count(字段)   count(常量),推荐使用count(*) 

-- 聚合函数

-- 1. 统计该企业员工数量
    #通配符
        select count(*) from emp;
    # 字段  null值 不参与聚合函数
        select count(id) from emp;    -- 30
        select count(job) from emp;   -- 29

    # 常量
        select count(0) from emp;
        select count('A') from emp;
        select count('孙') from emp;
-- 2. 统计该企业员工的平均薪资
select avg(salary) from emp;

-- 3. 统计该企业员工的最低薪资

select min(salary) from emp;
-- 4. 统计该企业员工的最高薪资

select max(salary) from emp;
-- 5. 统计该企业每月要给员工发放的薪资总额(薪资之和)

select sum(salary) from emp;


                -- 分组查询
select 字段列表 from 表名 [where 条件列表] group by 分组字段名 [having 分组后过滤条件];

-- 1. 根据性别分组 , 统计男性和女性员工的数量
select gender,count(*) from emp group by gender;

-- 2. 先查询入职时间在 '2015-01-01' (包含) 以前的员工 , 并对结果根据职位分组 , 获取员工数量大于等于2的职位

select job,count(*) from emp where entry_date <= '2015-01-01' group by job having count(*) >= 2;

                where和having的区别:

  •    执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤
  •     判断条件不同:where不能对聚合函数进行判断,而having可以。

  •        分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。
  •       执行顺序: where  >  聚合函数 > having 。

            排序查询(order by)

-- 排序查询 select 字段列表 from 表名 [where 条件列表] [group by 分组字段名 having 分组后过滤条件] order by 排序字段 排序方式

排序方式:

升序(asc),降序(desc);默认为升序asc,是可以不写的。

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

-- 3. 根据 入职时间 对公司的员工进行 升序排序 , 入职时间相同 , 再按照 更新时间 进行降序排序

select * from emp order by  entry_date asc ,update_time desc;

            分页查询(limit)

-- 排序查询 select 字段 from 表名 [where 条件] [group by 分组字段 having 过滤条件] [order by 排序字段] limit 起始索引,查询记录数 
 

  • 起始索引从0开始,起始索引 = (查询页码 - 1)* 每页显示记录数。
  • 分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMIT。
  • 如果查询的是第一页数据,起始索引可以省略,直接简写为 limit 10。 

 

-- 1. 从起始索引0开始查询员工数据, 每页展示5条记录

    select * from emp limit 5;
-- 2. 查询 第1页 员工数据, 每页展示5条记录
select * from emp limit 1,5;

-- 3. 查询 第2页 员工数据, 每页展示5条记录

select * from emp limit 5,5;
-- 4. 查询 第3页 员工数据, 每页展示5条记录
select * from emp limit 10,5;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1279814.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

卫星影像数据查询网址(WORLDVIEW1/2/3/4、PLEIADES、SPOT系列、高景、高分1-7、资源系列、吉林一号等)

商业卫星影像数据查询网址&#xff08;WORLDVIEW1/2/3/4、PLEIADES、SPOT系列、高景、高分1-7、资源系列、吉林一号等&#xff09; 1、资源卫星应用中心 网址&#xff1a;http://www.cresda.com/CN/ 可查询国产高分1、2、3、4、5、6、7号卫星&#xff0c;资源三号、资源三号…

Android 相机库CameraView源码解析 (四) : 带滤镜拍照

1. 前言 这段时间&#xff0c;在使用 natario1/CameraView 来实现带滤镜的预览、拍照、录像功能。 由于CameraView封装的比较到位&#xff0c;在项目前期&#xff0c;的确为我们节省了不少时间。 但随着项目持续深入&#xff0c;对于CameraView的使用进入深水区&#xff0c;逐…

LinkWeChat,唯一以开源为核心的SCRM

LinkWeChat是国内首个基于企业微信的开源SCRM&#xff0c;在集成了企微强大的开放能力的基础上&#xff0c;进一步升级拓展灵活高效的客户运营能力及多元化精准营销能力&#xff0c;让客户与企业之间建立强链接&#xff0c;帮助企业提高客户运营效率&#xff0c;强化营销能力&a…

图书整理II(两个栈实现队列)

目录 贼相似题目&#xff1a; 本题题目&#xff1a; 我们直接看题解吧&#xff1a; 审题目事例提示&#xff1a; 解题分析&#xff1a; 解题思路&#xff1a; 代码实现&#xff1a; 代码补充说明&#xff1a; 力扣题目地址&#xff1a; LCR 125. 图书整理 II - 力扣&#xff0…

Vue+ElementUI+C#前后端分离:监控长耗时任务的实践

想象一下&#xff0c;我们正在构建一个Web应用&#xff0c;需要实现一个数据报告的导出功能。这听起来很简单&#xff0c;不是吗&#xff1f;但是&#xff0c;随着深入开发&#xff0c;我们意识到导出过程比预期的要复杂和耗时得多。由于报告的数据量巨大&#xff0c;后端需要花…

智加科技获全国首张重卡无人驾驶开放道路测试牌照

2023年12月1日&#xff0c;智加科技获得苏州市智能网联汽车无人化测试牌照。该牌照也是江苏省及国内首张无人重卡开放高速公路全路段全场景全息路网&#xff08;S17苏台高速&#xff09;道路测试牌照。 该重卡无人驾驶开放道路测试牌照&#xff0c;经由苏州市智能网联汽车联席小…

c语言-结构体

文章目录 1. 结构体类型的声明2 . 结构体变量的创建和初始化(1)结构体变量的创建和初始化(2)结构的特殊声明&#xff08;3&#xff09;结构的自引用&#xff08;4&#xff09;typedef和结构体 3 . 结构成员访问操作符4. 结构体传参5. 结构体内存对齐&#xff08;1&#xff09;对…

Spring知识:探索Java开发的全新世界

文章目录 初识Spring什么是Spring框架Spring核心设计思想 Spring的核心特性什么是IOC容器&#xff1f;---控制反转(IoC)容器的基本概念什么是IOC Spring的另一个特性&#xff1a;DISpring特性&#xff1a;DL Spring的主要模块创建Spring项目创建maven项目添加spring依赖创建启动…

深度学习——第1章 深度学习的概念及神经网络的工作原理

1.1 序言——探索智能机器 千百年来&#xff0c;人类试图了解智能的机制&#xff0c;并将它复制到思维机器上。 人类从不满足于让机械或电子设备帮助做一些简单的任务&#xff0c;例如使用滑轮吊起沉重的岩石&#xff0c;使用计算器做算术。 人类希望计算机能够自动化执行更…

硬件基础:半导体和PN结

学模电之前&#xff0c;应该是已经学过基础电路的内容了。 那为什么还要学习模电呢&#xff1f; 因为电路分析中只是学了电路基础部分&#xff0c;主要涉及到的是无源器件&#xff0c;比如电阻电容电感&#xff1b;但是到了模电&#xff0c;就要开始学习有源器件了。 有源器件…

新手零基础学习彩铅画,彩铅快速入门教程合集

一、教程描述 画画是很美好的一件事情&#xff0c;你可以把你想到的&#xff0c;或者看到的都画下来&#xff0c;照相机可以拍下任何你看到的&#xff0c;但是你想到的任何事物&#xff0c;只能通过绘画的方式来表达。本套教程是非常不错的&#xff0c;彩铅的小视频教程&#…

C++ day49 买卖股票的最佳时机

题目1&#xff1a;121 买卖股票的最佳时机 题目链接&#xff1a;买卖股票的最佳时机 对题目的理解 prices[i]表示一支股票在第i天的价格&#xff0c;只能在某一天买入这支股票&#xff0c;并在之后的某一天卖出该股票&#xff0c;从而获得最大利润&#xff0c;返回该最大值&…

Windows利用MMDeploy部署OpenMMLab 模型并使用Python进行部署

目录 前言 一、准备工作 二、安装 MMDeploy 总结 前言 近期在用OpenMMLab构建模型&#xff0c;然后需要使用MMDeploy对模型进行部署。虽然官方文档提供了详细的说明&#xff0c;但是写的太繁琐了&#xff0c;而且在实际部署过程中&#xff0c;发现并不是所有步骤和内容都需要&…

C++ IO库

IO类 IO对象不能拷贝和赋值 iostream 表示形式的变化&#xff1a; 将100转换成二进制序列 然后格式化输出 x,y共用一块内存 输出的时候用不同的方式解析同一块内存 操作 格式化&#xff1a;内部表示转换为相应字节序列 缓存&#xff1a;要输出的内容放到缓存 编码转换&…

四、Zookeeper节点类型

目录 1、临时节点 2、永久节点 Znode有两种,分别为临时节点和永久节点。 节点的类型在创建时即被确定,并且不能改变。 1、临时节点 临时节点的生命周期依赖于创建它们的会话。一旦会话结束,临时节点将被自动删除,

Sailfish OS 移动操作系统

Jolla 是一家曾经致力于开发智能手机和平板电脑的公司&#xff0c;但是这些产品并没有取得成功。后来 Jolla 将重心转向了基于 Linux 的 Sailfish OS&#xff08;旗鱼&#xff09;&#xff0c;并将其应用于现有设备上。Sailfish OS 是由 Jolla 在 MeeGo 基础上开发的移动操作系…

百度查询界面自定义

文章目录 起因步骤 纯个人纪录 参考以下师傅链接 爱吃猫的鱼儿-浏览器设置夜间模式以及百度搜索结果单列居中 起因 发现百度查询结果都在左边&#xff0c;想着能不能居中&#xff0c;发现已经有前辈写了插件&#xff0c;遂安装使用&#xff0c;看下效果 步骤 安装插件暴力猴…

PTA结构体经典编程题

目录 第一题&#xff1a;计算平均成绩 第二题&#xff1a;平面向量加法 第三题&#xff1a;查找书籍 第四题&#xff1a;通讯录排序 第五题&#xff1a;计算职工工资 第一题&#xff1a;计算平均成绩 思路&#xff1a;看到一个学生的基本信息&#xff0c;所以定义一个结构…

力扣每日一题day24[150. 逆波兰表达式求值]

给你一个字符串数组 tokens &#xff0c;表示一个根据 逆波兰表示法 表示的算术表达式。 请你计算该表达式。返回一个表示表达式值的整数。 注意&#xff1a; 有效的算符为 、-、* 和 / 。每个操作数&#xff08;运算对象&#xff09;都可以是一个整数或者另一个表达式。两个…

Unity中Shader指令优化

文章目录 前言解析一下不同运算、条件、函数所需的指令数1、常数基本运算2、变量基本运算3、条件语句、循环 和 函数 前言 上一篇文章中&#xff0c;我们解析了Shader解析后的代码。我们在这篇文章中来看怎么实现Shader指令优化 Unity中Shader指令优化&#xff08;编译后指令…