MySQL常用基础 - 小白必看(二)

2023-11-20

MySQL数据库基本操作

在这里插入图片描述

一、DDL

概念:是一个数据定义语言

该语言部分包括:

1、对数据库的常用操作

  • 创建数据库:

  • 1、create database 数据库名 (直接删除)

  • 2、create database if not exists 数据库名 (判断数据库是否存在,不存在则创建)

  • 3、create database if not exists 数据库名 charset =字符编码 (在2的基础上加上数据库的字符编码)

    create database if not exists demo charset =utf8
    
  • 切换数据库:use 数据库名

    use demo
    
  • 删除数据库:

    1、drop database 数据库 (直接删除)

    2、drop database if exists 数据库名(判断是否存在数据库,存在即删除)

    drop database if exists demo
    
  • 查看所有数据库

    show databases

  • 修改数据库编码

    ALTER DATABASE 数据库名 CHARSET 字符编码;

    ALTER DATABASE demo CHARSET utf8;
    

    ALTER DATABASE 数据库名 character set 字符编码;

    alter database newer2 character set utf8
    

2、对表结构的常用操作

  • 创建表:

格式:create table if not exists 表名(

字段名1 字段类型(长度)约束,

字段名2 字段类型(长度)约束,

字段名3 字段类型(长度)约束,

字段名4 字段类型(长度)约束

);

 create table if not exists 表名(

字段名1 类型 (长度) 约束条件 comment '字段说明' ,

字段名2 类型 (长度) 约束条件 comment '字段说明' ,

字段名3 类型 (长度) 约束条件 comment '字段说明' 

)表的一些设置;

数据类型:

数据类型 关键字
整型 int integer
浮点类型 double, float
decimal(6,2)整个小数长5位,小数点不占位,小数是两位(9999.99)
字符串型 char:定长,char(2)最长存储2个字符,无论有没有2个字符,都是占2个字符
varchar:可变长度,varchar(10) 最长可以保存10个字符
日期类型 date(2010-10-11) 或time(19:22:22) 、datetime(2010-10-11 19:22:33)

对表的一些其他操作:

  • 查看当前数据库的所有表名称:
show tables;
  • 查看表结构:
desc 表格;
  • 删除表:
drop table 表名
  • 查询表创建语句:
show create table  表名
  • 修改表结构
alter table 表名
  • 添加列add
alter table 表名 add 字段名 数据类型;
  • 修改列数据类型 modify
alter table 表名 modify 字段名 数据类型;
  • 修改列名和类型 change
alter table 表名 change 旧字段名 新的字段名 数据类型;
  • 删除列
alter table 表名 drop 字段名;
  • 修改表名
rename table 旧的表名 to 新的表名;
  • 另一种修改表名写法
alter table 旧表名 rename 新表名;

二、DML

定义:指数据操作语言,用来对数据库中表的数据进行记录与更新

插入:insert

-- 插入全部字段
-- 写数据的时候,有多少列就有多少值
insert into 表名 values(列1的值,列2的值,……);
-- 只插入表中几列的值,其它列不写值
insert into 表名 (列名1,列名3)values(列1的值,列3的值);
insert into 表名 values
(列1的值,列2的值,……),
(列1的值,列2的值,……),
(列1的值,列2的值,……),
(列1的值,列2的值,……),
(列1的值,列2的值,……);

删除:delete

delete from 表名 where 条件; -- 带条件删除
delete from 表名 ; -- 删除整个表数据
truncate table 表名; -- 删除整个表数据
truncate  表名; -- 删除整个表数据

更新:update

update 表名 set 字段名=值,字段名=值,字段名=.....;-- 修改整个表名
update 表名 set 字段名=值,字段名=值,字段名=.....where 条件; -- 指定修改

三:约束

概念:实际上就是表中数据的限制条件

作用:表在设计的时候加入约束的目的,就是为了保证表中的记录完整性和有效性

约束分类:

主键约束(primary key) PK

概念:

  1. MySQL主键约束是一个列或多个列的组合,其值能唯一的标识表中的每一行,方便在RDBMS中尽快的找到某一个行。
  2. 主键约束相当于唯一约束+非空约束的组合,主键约束的列不允许重复,也不允许出现空值
  3. 每个表最多允许一个主键
  4. 主键约束的关键字:primary key
  5. 当创建主键的约束的时候,系统会默认在所在的列和列组合上建立对应的唯一索引

操作:

  1. 添加单列主键

    定义完字段之后指定主键:

    create table 表名(
        字段1 类型(长度) 约束,
        ...,
        constraint 约束名     primary key (字段名)
    );
    

    在定义字段的同时指定主键:

    create table 表名(
    字段1 类型(长度)  primary key
    );
    
  2. 添加多列的联合主键

    就是这个主键是由一张表中多个字段组成

    注意:当主键是由多个字段组成时,不能直接在字段名后面声明主键约束;

    一张表只能有一个主键,联合主键也是一个主键。

    create table 表名(
        ...
        primary key(字段1,字段2,字段3...)
    );
    
  3. 删除主键

    alter table 表名 drop primary key;
    
  4. 创建表完成之后,添加主键

    alter table 表名 add primary key(字段名);
    

自增长约束(auto_increment)

概念:

​ 在MySQL中,当主键定义为自增长后,这个主键的值就不需要用户输入数据了,而是由数据库系统根据定义自动赋值,每增加一条记录,主键就会自动以相同的步长进行增长,通过给字段添加auto_increment属性来实现主键自增长

create table 表名(
字段1 类型(长度) 约束 auto_increment
)auto_increment=100; -- 从100开始

特点:

  1. 默认情况下,auto_increment的初始值为1,每增加一条记录就字段值加一;

  2. 一个表中只能有一个字段使用auto_increment约束,且该字段必须有唯一索引,避免序号重复(主键或主键一部分)

  3. 自增长约束的字段必须具备not null 属性

  4. auto_increment约束的字段只能是整数类型(tinyint,int,BIGINT)等

  5. auto_increment约束字段的最大值是被该字段的数据类型约束,如果到达上限,auto_increment约束就会失效

指定自增字段的初始值

alter table 表名 auto_increment=初始值;

非空约束(not null)

概念:非空约束,指字段的值不能为空,对于使用了非空约束的字段,如果用户在添加数据时没有指定值,数据库系统就会报错

字段名 数据类型 not null;

alter table 表名 modify 字段 类型 not null;

唯一性约束(unique key)

概念:指所有记录中字段的值不能出现重复,例如id字段加上唯一性约束以后,每一条记录的id值都是唯一的,不能重复出现。

字段名 数据类型 unique ;

alter table 表名 add constraint 约束名 unique (指定列);


alter table 表名 drop index (约束名)字段名;-- 删除约束

默认约束(default)

概念:MySQL默认值约束用来指定某列的默认值

字段名 类型 default 默认值;

alter table 表名 modify 列名 类型 default 默认值; -- 可以修改,也可以添加

alter table 表名 modify column 字段名 类型 default null; -- 删除默认约束

外键约束(foreign key) FK

定义:外键约束是表的一个特殊字段,经常和主键约束一起使用,对于两个具有关联关系的表来说,相关字段中主所在表就是主表(父表),外键所在表就是从表(子表)

特点(定义一个外键时,需要遵守的规则):

  1. 主表必须已经存在于数据库中,或者是当前正在创建的表
  2. 必须为主表定义主键
  3. 主键不能包含空值,但是允许在外键中出现空值,也就是说,只要外键的每个非空值出现在指定的主键中,那么这个外键的内容就是正确的
  4. 在主表的表名后面指定列名或列名的组合,那么这个列或列的组合必须是主表的主键或候选键
  5. 外键中列的数目必须和主表的主键中的列的数目相同
  6. 外键中列的数据类型必须和主表的主键中的列的数据类型相同

方式一:在创建表的时候设置外键约束

语法:
constraint 外键名  foreign key 字段名 [,字段名2,...] references 主表名 主键列  [,主键列2,...]

例子:

create database mydb3; 
use mydb3;
-- 创建部门表
create table if not exists dept(
  deptno varchar(20) primary key ,  -- 部门号
  name varchar(20) -- 部门名字
);
create table if not exists emp(
  eid varchar(20) primary key , -- 员工编号
  ename varchar(20), -- 员工名字
  age int,  -- 员工年龄
  dept_id varchar(20),  -- 员工所属部门
  constraint emp_fk foreign key (dept_id) references dept (deptno)    -- 外键约束
);

方式二:在创建表之后设置外键约束

语法:alter table <数据表名> add constraint <外键名> foreign key(<列名>) references <主表名> (<列名>);

例子:
alter table emp add constraint emp_fk foreign key (dept_id) references dept (deptno);

删除外键约束:

语法:alter table <表名> drop foreign key <外键约束名>;

例子:alter table emp drop foreign key emp_fk;

四:DQL

基本查询,单表查询

简单语法:
select * from 表名 where 条件;

-- 1.查询所有的商品
SELECT * FROM product;
-- 2查询商品名称和价格
SELECT pname,price FROM product;
-- 3.表别名
SELECT * FROM product AS p WHERE p.pname="美的冰箱";
-- 4.列别名
SELECT pname 商品名,price 价格 FROM product
-- 5.去掉重复值
SELECT DISTINCT price FROM product
-- 查询结果是表达式;将使用商品的价格+10进行显示
SELECT pname,price+10 FROM product;
-- 查询商品名称为“海尔洗衣机”的商品所有信息:
SELECT * FROM product  WHERE pname="海尔洗衣机";
-- 查询价格为800商品
SELECT * FROM product  WHERE price=800;
-- 查询价格不是800的所有商品
SELECT * FROM product  WHERE NOT(price=800);
-- 查询商品价格大于60元的所有商品信息
SELECT * FROM product  WHERE price>60;
-- 查询商品价格在200到1000之间所有商品
SELECT * FROM product  WHERE price>=200 AND price<=1000;
SELECT * FROM product  WHERE price BETWEEN 200 AND 1000;
-- 查询商品价格是200或800的所有商品
SELECT * FROM product WHERE price = 200 OR price = 800;
SELECT * FROM product WHERE price IN(200,800);
-- 查询含有‘裤'字的所有商品
SELECT * FROM product WHERE pname LIKE '%裤%' ;
-- 查询以'海'开头的所有商品
SELECT * FROM product WHERE pname LIKE '海%';
-- 查询第二个字为'蔻'的所有商品
SELECT * FROM product WHERE pname LIKE '_蔻%';
-- 查询category_id为null的商品
SELECT * FROM product WHERE category_id IS NULL ;
-- 查询category_id不为null的商品
SELECT * FROM product WHERE category_id IS NOT NULL ;
-- 使用least求最小值
SELECT LEAST(10,20,NULL,40);
-- 使用greatest求最大值
SELECT GREATEST(10,20,40);



复杂语法:
select[all|distinct] 目标列的表达式 别名,目标列的表达式 别名,... from 表名或视图名 别名,表名或视图名 别名 
<where 条件表达式> 
<group by <别名>>  -- 分组查询
<having <条件表达式>> -- 分组之后的条件删选
select * from 表名 order by 列名 [asc|desc]; -- 排序
特点:
asc是升序(默认),desc是降序
order by 用于子句中可以支持单个字段,多个字段,表达式,函数,别名
order by 子句,放在查询语句的最后面,limit子句除外
<limit 数字或者列表> -- 分页

排序查询

select * from 表名 order by 列名 [asc|desc]; -- 排序

特点:
asc是升序(默认),desc是降序
order by 用于子句中可以支持单个字段,多个字段,表达式,函数,别名
order by 子句,放在查询语句的最后面,limit子句除外

聚合查询

聚合函数:

  • count( ) 统计指定列不为null的记录的行数
  • sum( ) 计算指定列的数值和,如果指定的列的类型不是数值类型,那么计算的结果是0
  • max( ) 计算指定列的最大值,如果指定的列的类型是字符串类型,那么就使用字符串排序运算
  • min( ) 计算指定列的最小值,如果指定的列的类型是字符串类型,那么就使用字符串排序运算
  • avg( ) 计算指定列的平均值,如果指定的列的类型不是数值类型,那么计算的结果是0

聚合函数–null值的处理:

  • count函数对null值的处理:如果count函数的参数为*,则统计所有记录的个数,如果参数为字段,则不统计含有null值的记录个数

  • sum和avg函数对null值的处理:这两个函数是没有null值的存在,就好像是该记录不存在

  • max和min函数对null值的处理:这两个函数是没有null值的存在,就好像是该记录不存在

分组查询 (group by) 分组后条件筛选(having)

  • 分组之后对统计结果进行筛选的话必须使用having不能使用where

  • where子句用来筛选from子句中指定的操作所产生的行

  • group by 子句用来分组where子句的输出

  • having子句是用来从分组的结果中进行筛选

select * from 表名 group by  分组的字段 having 分组条件;

分页查询:limit

-- 显示前n条
select * from 表名 limit 条数; 
-- 分页显示
select * from 表名 limit m,n;
-- m代表整数,表示第几条索引开始,计算方式=((当前页-1)*每页显示条数)
-- n表示查询多少数据,计算方式=(每页的条数*当前页数)

五、多表查询

多表操作:对两个或两个以上的表进行操作

多表之间的关系:MySQL中多表之间的关系可以概括为:一对一,一对多,多对一,多对多

一对一关系:

实现:在任意表中添加唯一外键,指向另一方主键,确保一对一关系(少见,遇见了就合并)

一对多/多对一关系:

例如:部门和员工

一个部门有多个员工,一个员工只能对应一个部门

实现:在多的一方建立外键,指向一的一方的主键

多对多关系

例如:学生和课程

实现:需要借助第三张中间表,中间表至少包含两个字段,将多对多的关系拆成一对多的关系,中间表至少有两个外键,分别指向原来两个表的主键

多表联合查询

介绍:多表查询就是同时查询两个或两个以上的表,因为有时候用户在查看数据的时候,需要显示的数据来自于多张表

多表查询的分类

1,交叉连接查询:select * from 表A,表B;

2,内连接查询:关键字(inner join)

隐式内连接:select * from 表a,表b where 条件;

显示内连接:select * from 表A inner join 表B on 条件;(在MySQL中,inner可以省略)

3,外连接查询:关键字(outer join)

  • 左外连接:left outer join
  • 右外连接:right outer join
  • 满外连接:full outer join

4,子连接查询:select的嵌套

5,表的自关联:将一张表当成多张表使用

查询种类 特点 关键字
全连接 交叉连接(笛卡尔积),把两张表的数据进行交叉组合,A*B 了解
内连接 两表的交集部分 inner join
外连接 左外连接:取左表的全部数据+左右两表的交集
右外连接:取右表的全部数据+左右两表的交集
自然连接 natural join
和内连接有些相似,它会自动去掉相同的字段
取两表的交集数据,并且去掉相同的列
了解 natural join
自连接 需要使用表别名,并且使用一个关键字段进行连接 join 使用表别名
嵌套连接 子查询
查询语句当中再嵌套查询语句
select中嵌套select
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL常用基础 - 小白必看(二) 的相关文章

  • SQL - 需要查找重复记录但排除反向事务

    我有一张交易表 偶尔会有 重复条目 如果 当管理员发现这些重复条目时 他们将撤销交易 从而创建负值 但由于监管要求 原始重复条目仍然保留 我想创建一个 SQL 查询 并使用 Crystal Reports 来制作报告 以便管理员轻松查找重复
  • mysql表中的数据非常大。即使 select 语句也需要很多时间

    我正在开发一个数据库 它是一个相当大的数据库 有 13 亿行和大约 35 列 这是我检查表状态后得到的结果 Name Table Name Engine InnoDB Version 10 Row format Compact Rows 1
  • 如何使用原始 SQL 查询实现搜索功能

    我正在创建一个由 CS50 的网络系列指导的应用程序 这要求我仅使用原始 SQL 查询而不是 ORM 我正在尝试创建一个搜索功能 用户可以在其中查找存储在数据库中的书籍列表 我希望他们能够查询 书籍 表中的 ISBN 标题 作者列 目前 它
  • MySQL 左连接 WHERE table2.field = "X"

    我有以下表格 pages Field Type Null Key Default Extra page id int 11 NO PRI NULL auto increment type varchar 20 NO NULL
  • 如何在查询语句之外从mysql查询中获取值?

    这是下面的函数console log function quo value value connection query SELECT role from roles where id 1 function error results fi
  • 从 call_log 中获取最大并发通话数

    我需要帮助在 MySQL 5 0 77 中编写一个查询 根据下面所示的数据 办公室一天的通话量 返回并发电话呼叫的峰值数量 我只是想知道一天中任何特定时间同时打电话的人数最多是多少 首先 这是 MySQL 表 CREATE TABLE ca
  • 连接到 OpenShift (Redhat Paas) mysql 实例

    我正在尝试将我的 C 应用程序与 openshift 数据库连接 但我得到了这个例外conn Open Eccezione gt MySql Data MySqlClient MySqlException 0x80004005 Unable
  • NHibernate - 无法执行查询 - 输入字符串的格式不正确

    我已经为此摸不着头脑有一段时间了 我不知道出了什么问题 概述 我的 MySQL 数据库中有两个表 两者都正确映射到数据库 我可以加载数据 并且我能够查询一个表 但不能查询另一个表 我研究过的解决方案 表和 C 代码之间的类型转换问题 映射问
  • 如何删除 MySQL 数据库?

    你可能从我的上一个问题中注意到一个问题引发了更多的问题 在 MySQL 监视器中阅读 MySQL 手册 https stackoverflow com questions 1081399 我的数据库现在无法使用 部分原因是我想破坏东西并且无
  • Dapper 或 MySql 未找到包含句号“.”的存储过程。

    我有一个简单的 C 控制台 它使用 Dapper ORM 调用本地 MySql 数据库 以执行名为的存储过程users UserCreate 但是 当运行查询时 我收到一个异常 在数据库 用户 中找不到过程或函数 UserCreate Bu
  • 如果 Oracle SQL 中存在视图,则删除视图[重复]

    这个问题在这里已经有答案了 我是 Oracle 数据库系统的新手 Oracle 12c 中以下 SQL 语句的等效项是什么 DROP VIEW IF EXIST
  • 如何创建没有循环关系的树形表?

    CREATE TABLE TREE node1 id UUID REFERENCES nodes object id NOT NULL node2 id UUID REFERENCES nodes object id NOT NULL CO
  • 将IP保存到数据库中

    当用户登录时 我想将他们的 IP 保存在数据库中 我该怎么做呢 MySQL 字段最适合使用哪种类型 获取IP的PHP代码是什么样的 我正在考虑将其用作登录 会话内容的额外安全功能 我正在考虑使用用户现在拥有的 IP 检查用户从数据库登录的
  • SQL Server 查询中 UNION ALL 与 OR 条件

    我必须根据表上不存在的条件选择一些行 如果我使用如下的 union all 它会在不到 1 秒的时间内执行 SELECT 1 FROM dummyTable WHERE NOT EXISTS SELECT 1 FROM TABLE t WH
  • “修改列”与“更改列”

    我知道 我们不能使用重命名列MODIFY COLUMN语法 但我们可以使用CHANGE COLUMN syntax 我的问题是 主要用途是什么modify syntax 例如 ALATER TABLE tablename CHANGE co
  • 无法与重定向器建立连接。确保“sql browser”服务正在运行

    所以我尝试这个 sql server 2012 由于这个错误我无法打开任何 ssis 包 无法与重定向器建立连接 确保 sql browser 服务正在运行 我的 Sql 浏览器肯定正在运行 我尝试在本地服务 本地系统和网络下更改它 仍然没
  • 向带有检查约束 SQL 的表添加列

    我想向表中添加一列 然后添加一个检查约束以确保其大于 0 我似乎无法让它在 oracle sl Developer 中运行 Alter TABLE store101 add column Base salary Number 7 2 con
  • 是否可以从子查询中获取多个值?

    有没有办法让子查询在oracle db中返回多列 我知道这个特定的sql会导致错误 但它很好地总结了我想要的 select a x select b y b z from b where b v a v from a 我想要这样的结果 a
  • 针对约 225 万行的单表选择查询的优化技术?

    我有一个在 InnoDB 引擎上运行的 MySQL 表 名为squares大约有 2 250 000 行 表结构如下 squares square id int 7 unsigned NOT NULL ref coord lat doubl
  • 查看Jasper报告执行的SQL

    运行 Jasper 报表 其中 SQL 嵌入到报表文件 jrxml 中 时 是否可以看到执行的 SQL 理想情况下 我还想查看替换每个 P 占位符的值 Cheers Don JasperReports 使用 Jakarta Commons

随机推荐

  • chatgpt赋能python:如何使用Python进行SEO优化

    如何使用Python进行SEO优化 在数字化时代 SEO已经成为一个广泛使用且需求不断增加的领域 虽然有很多工具和技术可以用于SEO 但Python是其中之一 Python是一种现代编程语言 通常用于处理大数据集 自动化任务 Web开发等特
  • Android面试题内存&性能篇

    Android面试题内存 性能篇 由本人整理汇总 后续将继续推出系列篇 如果喜欢请持续关注和推荐 更多内容可以关注微信公众号 Android高级编程 android tech 系列文章目录 Android面试题View篇 Android面试
  • Linux下Memcached的安装步骤

    一 安装gcc yum y install gcc 二 安装libevent wget http www monkey org provos libevent 2 0 12 stable tar gz tar zxf libevent 2
  • 记录下sudo: export: command not found的原因

    今天设置环境变量 输入以下命令 sudo export PATH PATH 路径 路径为arm linux gcc的bin目录 结果提示 sudo export command not found 在网上搜了一下 网友给出了答案 原理是ex
  • vue+java实现在线播放mp4视频

    首先如果本地的mp4视频可以播放 但是在网页就显示视频格式不正确 可能原视频不是mp4格式的 更改后缀名为mp4了 但是在网页上还是无法播放 可以用 ffmpeg转换视频格式 一般遇到格式问题都是视频格式不对 需要专门的工具来转换 java
  • 《Linux系统调用:localtime,setlocale》

    一 介绍 时区 不同国家 有的甚至是同一国家不同地区 使用不同的时区和夏时制 对于要输入和输出时间的程序来说 必须对系统所处的时区和夏时制加以考虑 所有的细节已经由C语言库包办了 时区的定义 时区信息繁琐又多 出于这个原因系统没有将其直接编
  • 【ES6】Reflect反射机制

    文章目录 一 Reflect概述 二 用法详解 1 Object gt Reflect 2 修改Object方法的返回结果 3 命令式操作 gt 函数式操作 4 与Proxy对象的方法一一对象 5 apply 总结 一 Reflect概述
  • xshell如何连接远程服务器

    1 打开xshell后 点击新建 gt 会话 2 名称可以随意写 主机需要按照要求填写 远程服务器的IP在这里找 3 点击用户身份验证 4 按照要求填写用户名和密码 5 点击确定后 如果出现下面的命令则说明连接成功 6 再次打开xshell
  • 2021 CCF大数据与计算智能大赛个贷违约预测top 73 解决方案

    目录 一 概述 二 解题过程 2 1 数据 2 2 构建基线 2 3 进阶思路一 2 4 进阶思路二 2 5 进阶思路三 2 6 融合 2 7 调优提分过程 2 8 其他工作 三 结语 一 概述 这是我第二次参加大数据类型的竞赛 也是第一次
  • 如何在Word中粘贴出好看的代码

    文章目录 前言 使用highlightcode实现 总结 前言 每到毕业设计时 论文中一大段一大段的代码阅读起来很难受 这还是python代码 相对比较短 如果是STM32相关代码 看起来更难受 有没有一种办法让代码看起来舒服一些呢 使用h
  • java 数组的长度_Java如何获取数组和字符串的长度(length还是length())

    限时 1 秒钟给出答案 来来来 听我口令 Java 如何获取数组和字符串的长度 length 还是 length 在逛 programcreek 的时候 我发现了上面这个主题 说实话 我当时脑海中浮现出了这样一副惊心动魄的画面 面试官老马坐
  • python中添加空白和删除空白

    添加空白的方法 制表符 字符组合 t 换行符 字符组合 n 删除空白 方法名 功能 rstrip 剔除末尾的空白 lstrip 剔除开头的空白 strip 剔除两端的空白 在实际程序中 这些剥除函数最长用于在存储用户输入前对其进行清理
  • 时序预测

    时序预测 MATLAB实现TCN LSTM时间卷积长短期记忆神经网络时间序列预测 目录 时序预测 MATLAB实现TCN LSTM时间卷积长短期记忆神经网络时间序列预测 预测效果 基本介绍 模型描述 程序设计 参考资料 预测效果 基本介绍
  • win10下的anaconda安装pymysql

    1 打开anaconda的终端 即 anaconda prompt 2 输入命令 pip install pymysql ps 其余包都可以使用pip install xxx来完成安装 若下载失败 可在一下链接查找相关包进行安装 https
  • Java 单例模式、工厂模式、代理模式

    文章目录 单例模式 概念 单例模式的类型 破坏单例模式 枚举实现单例模式 工厂模式 概述 简单工厂模式 工厂方法 抽象工厂 代理模式 Proxy 概述 静态代理 动态代理 单例模式 概念 单例模式指在内存中创建对象且仅创建一次的设计模式 在
  • 《Pyramid Scene Parsing Network》

    Pytorch代码 1 研究问题 目前基于FCN的语义分割网络缺乏利用不同尺度全局上下文信息的能力 对于复杂图像的语义分割 如ADE20K数据集 存在问题 注 感受野的大小可以粗略表示为使用上下文信息的程度 2 研究方法 提出了金字塔场景理
  • Mybatis的常用注解

    加载配置文件的时候 绝对路径和相对路径的写法都不太好用 我们经常使用的两种方法第一种就是使用类加载器 他只能读取类路径的配置文件 第二种就是使用ServletContext对象的getRealPath 函数 mybatis的常用注解 1 与
  • jsp+servlet+ajax实现登录

    该案列使用jsp servlet ajax实现登录 页面简洁大方 弹框都是封装的插件 整体案列采用三层的模式 链接数据库方面用的是dbcp的链接池 数据库时mysql 运行效果如下图 下载地址 jsp servlet ajax实现登录案例
  • c++(对象赋值与拷贝构造函数)

    对象赋值 同一个类的对象之间可以相互赋值 默认情况下 进行的是对象成员之间的复制 也称为 按位复制 或 浅复制 当类的数据成员中没有指针类型的变量时 直接对两个对象进行赋值没有问题 但是一旦类的数据成员含有指针变量 那么直接对这两个对象进行
  • MySQL常用基础 - 小白必看(二)

    MySQL数据库基本操作 一 DDL 概念 是一个数据定义语言 该语言部分包括 1 对数据库的常用操作 创建数据库 1 create database 数据库名 直接删除 2 create database if not exists 数据