我在广州学 Mysql 系列之 数据“表”的基本操作
ℹ️大家好,我是😆练小杰,今天主要讲得是Mysql数据表的基本操作内容~~
昨天讲了“Mysql 数据“库“的基本操作”~~
想要了解更多🈶️MYSQL 数据库的命令行总结!!!
“真相永远只有一个”——工藤新一 😎

文章目录
- 前言
- 创建数据表
- 主键约束
- 外键约束
- 非空约束
- 唯一性约束
- 默认约束
- 设置表的属性值自动增加
- 查看数据表结构
- 查看表基本结构语句`describe`
- 表详细结构语句`show create table`
- 修改数据表
- 修改表名
- 修改字段的数据类型
- 修改字段名
- 添加字段
- 删除字段
- 修改字段的排列位置
- 更改表的存储引擎
- 删除表的外键约束
- 删除数据表
- 删除无关联的表
- 删除被其它表关联的主表
- 综合案例(菜就多练)
- 创建员工表`tb_emp1`
- 建立数据表`tb_emp2`,设置主键为`id`
- 建立数据表`tb_emp 3`,其主键为`id`
- 定义数据表`tb_emp4`
- 定义数据表`tb_emp5`,且在`tb_emp5`表上创建外键约束
- 定义数据表`tb_emp6`,指定员工的名称不能为空
- 定义数据表`tb_dept2`,指定部门的名称唯一
- 定义数据表`tb_dept3`,指定部门的名称唯一(两种不同方式)
- 定义数据表`tb_emp7`,指定员工的部门编号默认为1111
- 定义数据表`tb_emp8`,指定员工的编号自动递增
- 分别使用`DESCRIBE`和`DESC`查看表`tb_dept1`和表`tb_emp1`的表结构
- 使用`SHOW CREATE TABLE`查看表`tb_emp1`的详细信息,SQL语句如下:
- 将数据表`tb_dept3`改名为`tb_deptment3`
- 将数据表`tb_dept1`中`name`字段的数据类型由`VARCHAR(22)`修改成`VARCHAR(30)`
- 将数据表`tb_dept1`中的`location`字段名称改为`loc`,数据类型不变
- 将数据表`tb_dept1`中的`loc`字段名称改为`location`,同时将数据类型变为`VARCHAR(60)`
- 在数据表`tb_dept1`中添加一个没有完整性约束的`INT`类型的字段`managerId`(部门经理编号)
- 在数据表`tb_dept1`中添加一个不能为空的`VARCHAR(12)`类型的字段`column1`
- 数据表`tb_dept1`中添加一个`INT`类型的字段`column2`
- 数据表`tb_dept1`中`name`列后添加一个`INT`类型的字段`column3`
- 删除数据表`tb_dept1`表中的`column2`字段
- 将数据表`tb_dept`中的`column1`字段修改为表的第一个字段
- 将数据表`tb_dept1`中的`column1`字段插入到`location`字段后面
- 将数据表`tb_deptment3`的存储引擎修改为`MyISAM`
- 删除数据表`tb_emp9`中的外键约束
- 删除数据表`tb_dept2`
- 数据库中创建两个关联表
- 删除被数据表`tb_emp`关联的数据表`tb_dept2`
前言
⚠️温馨提醒:最后有详细实例操作,前面文字概念比较多,需要给点耐心才能看完哦!!!
同时,如果需要练习可以直接点击文章目录—>“综合案例”
创建数据表
- 创建数据表的语句为
create table
CREATE TABLE <表名>(列名1,数据类型 [列级别约束条件] [默认值],列名2,数据类型 [列级别约束条件] [默认值],……[表级别约束条件]);
主键约束
- 主键,又称主码,是表中一列或多列的组合。主键约束(
Primary Keyconstraint)要求主键列的数据唯一,并且不允许为空。 - 单字段主键
字段名 数据类型 PRIMARY KEY [默认值]
- 多字段联合主键
PRIMARY KEY [字段1, 字段2,. . ., 字段n]
外键约束
- 外键用来在两个表的数据之间建立链接,它可以是一列或者多列。
- 一个表可以有一个或多个外键。
- 一个表的外键可以为空值,若不为空值,则每一个外键值必须等于另一个表中主键的某个值。
[CONSTRAINT <外键名>] FOREIGN KEY 列名1 [ ,列名2,…] REFERENCES <主表名> 主键列1 [ ,主键列2,…]
非空约束
- 非空约束(
Not Nullconstraint)指字段的值不能为空。 - 对于使用了非空约束的字段如果用户在添加数据时,没有指定值,数据库系统会报错。
字段名 数据类型 not null
唯一性约束
- 唯一性约束(
UniqueConstraint)要求该列唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列不出现重复值。
字段名 数据类型 UNIQUE
默认约束
- 默认约束(
DefaultConstraint)指定某列 的默认值。
字段名 数据类型 DEFAULT 默认值
设置表的属性值自动增加
- 在数据库应用中,经常希望在每次插入新记录时,系统就会自动生成字段的主键值。
- 一个表只能有一个字段使用
AUTO_INCREMENT约束,且该字段必须为主键的一部分 - 可通过为表主键添加
AUTO_INCREMENT关键字来实现。
字段名 数据类型 AUTO_INCREMENT
查看数据表结构
查看表基本结构语句describe
- 该语句可以查看表的字段信息,其中包括:字段名、字段数据类型、是否为主键、是否有默认值等
DESCRIBE <表名>
或者
DESC <表名>
表详细结构语句show create table
- 用来显示数据表的所有创建语句
SHOW CREATE TABLE <表名\G>
修改数据表
修改表名
通过ALTER TABLE语句来实现表名的修改的。
ALTER TABLE <旧表名> RENAME [TO] <新表名>;
修改字段的数据类型
- 把字段的数据类型转换成另一种数据类型
ALTER TABLE <表名> MODIFY <字段名> <数据类型>
修改字段名
- 修改表字段名的语法:
ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>;
添加字段
- 在已有的表中添加新的字段
ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] [FIRST | AFTER 已存在字段名];
删除字段
- 将数据表中的某个字段从表中移除
ALTER TABLE <表名> DROP <字段名>;
修改字段的排列位置
- 改变表中字段的相对位置
ALTER TABLE <表名> MODIFY <字段1> <数据类型> FIRST|AFTER <字段2>;
更改表的存储引擎
存储引擎是指MySQL数据库中表的存储类型。可以根据自己的需要,选择不同的引擎。(昨天讲过“引擎内容”)
ALTER TABLE <表名> ENGINE=<更改后的存储引擎名>;
删除表的外键约束
- 外键一旦删除,就会解除主表和从表间的关联关系。
ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>
删除数据表
删除无关联的表
- 使用
DROP TABLE可以一次删除一个或多个没有被其它表关联的数据表
DROP TABLE [IF EXISTS]表1, 表2, . . . 表n;
删除被其它表关联的主表
- 在数据表之间存在外键关联的情况下,如果直接删除父表,结果会显示失败。因为直接删除,将破坏表的对照完整性。
- 若必须要删除,可以先删除与之关联的子表,再删除父表,但是这样就同时删除了两个表中的数据。
- 有些情况下可能要保留子表,这时如要单独删除父表,只需将关联的表的外键约束条件取消,然后就可以删除父表。
综合案例(菜就多练)
创建员工表tb_emp1
- 首先创建数据库,SQL语句如下:
CREATE DATABASE test_db;
- 选择创建表的数据库,SQL语句如下:
USE test_db;
- 创建tb_emp1表,SQL语句为:
CREATE TABLE tb_emp1
(
id INT(11), //员工编号
name VARCHAR(25), //员工名字
deptId INT(11), //所属部门
salary FLOAT //工资);
语句执行完,就创建了一个名称为
tb_emp1的数据表
- 使用
SHOW TABLES;查看数据表是否创建成功
SHOW TABLES;
+-----------------------+
| Tables_in_ test_db |
+----------------------+
| tb_emp1 |
+----------------------+
1 row in set (0.00 sec)
可以看到,
test_db数据库中已经有了数据表tb_tmp1
建立数据表tb_emp2,设置主键为id
- SQL语句如下:
CREATE TABLE tb_emp2
(
id INT(11) PRIMARY KEY,
name VARCHAR(25),
deptId INT(11),
salary FLOAT
);
建立数据表tb_emp 3,其主键为id
- SQL语句如下:
CREATE TABLE tb_emp3
(
id INT(11),
name VARCHAR(25),
deptId INT(11),
salary FLOAT,
PRIMARY KEY(id)
);
上述两个例子结果一样,都会在id字段上设置主键约束
定义数据表tb_emp4
- 假设表中间没有主键
id,为了唯一确定一个员工,可以把name、deptId联合起来做为主键。
SQL语句如下:
CREATE TABLE tb_emp4(
name VARCHAR(25),
deptId INT(11),
salary FLOAT,
PRIMARY KEY(name,deptId)
);
定义数据表tb_emp5,且在tb_emp5表上创建外键约束
- 创建一个部门表
tb_dept1,SQL语句如下:
CREATE TABLE tb_dept1
(
id INT(11) PRIMARY KEY,
name VARCHAR(22) NOT NULL,
location VARCHAR(50)
);
- 定义数据表tb_emp5,让它的键
deptId作为外键关联到tb_dept1的主键id,SQL语句为:
CREATE TABLE tb_emp5
(
id INT(11) PRIMARY KEY,
name VARCHAR(25),
deptId INT(11),
salary FLOAT,
CONSTRAINT fk_emp_dept1 FOREIGN KEY(deptId) REFERENCES tb_dept1(id)
);
以上语句都执行完后,在表
tb_emp5上添加了名称为fk_emp_dept1的外键约束,外键名称为deptId,其依赖于表tb_dept1的主键id
定义数据表tb_emp6,指定员工的名称不能为空
SQL语句如下:
CREATE TABLE tb_emp6
(
id INT(11) PRIMARY KEY,
name VARCHAR(25) NOT NULL,
deptId INT(11),
salary FLOAT
);
定义数据表tb_dept2,指定部门的名称唯一
SQL语句如下:
CREATE TABLE tb_dept2
(
id INT(11) PRIMARY KEY,
name VARCHAR(22) UNIQUE,
location VARCHAR(50)
);
定义数据表tb_dept3,指定部门的名称唯一(两种不同方式)
SQL语句如下:
CREATE TABLE tb_dept3
(
id INT(11) PRIMARY KEY,
name VARCHAR(22),
location VARCHAR(50),
CONSTRAINT STH UNIQUE(name)
);
定义数据表tb_emp7,指定员工的部门编号默认为1111
SQL语句如下:
CREATE TABLE tb_emp7
(
id INT(11) PRIMARY KEY,
name VARCHAR(25) NOT NULL,
deptId INT(11) DEFAULT 1111,
salary FLOAT
);
定义数据表tb_emp8,指定员工的编号自动递增
SQL语句如下:
CREATE TABLE tb_emp8
(
id INT(11) PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(25) NOT NULL,
deptId INT(11),
salary FLOAT
);
- 举个🌰,执行如下插入语句:
INSERT INTO tb_emp8 (name,salary)
VALUES('Dzq',0001), ('Lxj',0002),('Enson',0003);
语句执行完后,
tb_emp8表中增加3条记录,在这里并没有输入id的值,但系统已经自动添加该值。
- 使用
SELECT命令查看记录,如下所示
SELECT * FROM tb_emp8;
分别使用DESCRIBE和DESC查看表tb_dept1和表tb_emp1的表结构
- 查看
tb_dept1表结构
SQL语句如下:
DESCRIBE tb_dept1;
+-----------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+---------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | varchar(22) | NO | | NULL | |
| location | varchar(50) | YES | | NULL | |
+-----------+---------------+------+-----+---------+--------+
- 查看
tb_emp1表结构,
SQL语句如下:
DESC tb_emp1;
+--------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+--------------+------+-----+---------+-------+
| id | int (11) | YES | | NULL | |
| name | varchar(25) | YES | | NULL | |
| deptId | int (11) | YES | | NULL | |
| salary | float | YES | | NULL | |
+---------+-------------+-------+-----+---------+-------+
使用SHOW CREATE TABLE查看表tb_emp1的详细信息,SQL语句如下:
SHOW CREATE TABLE tb_emp1;
+--------+----------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------+
| Table | Create Table|
+--------+----------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------+
| fruits | CREATE TABLE `fruits` (`f_id` char(10) NOT NULL,`s_id` int(11) NOT NULL,`f_name` char(255) NOT NULL,`f_price` decimal(8,2) NOT NULL,PRIMARY KEY (`f_id`),KEY `index_name` (`f_name`),KEY `index_id_price` (`f_id`,`f_price`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312 |
+--------+----------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------+
- 使用参数’
\G’之后的结果如下:
SHOW CREATE TABLE tb_emp1\G
*************************** 1. row ***************************Table: tb_emp1
Create Table: CREATE TABLE `tb_emp1` (`id` int(11) DEFAULT NULL,`name` varchar(25) DEFAULT NULL,`deptId` int(11) DEFAULT NULL,`salary` float DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=gb2312
将数据表tb_dept3改名为tb_deptment3
- 使用
ALTER TABLE将表tb_dept3改名为tb_deptment3
SQL语句如下:
ALTER TABLE tb_dept3 RENAME tb_deptment3;
将数据表tb_dept1中name字段的数据类型由VARCHAR(22)修改成VARCHAR(30)
- 执行修改表名操作之前,使用
DESC查看tb_dept1表结构,结果如下:
DESC tb_dept1;
+----------+---------------+---------+--------+-------------+-------+
| Field | Type | Null | Key |Default | Extra |
+----------+---------------+---------+--------+-------------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | varchar(22) | YES | | NULL | |
| location | varchar(50) | YES | | NULL | |
+----------+---------------+--------+---------+-------------+-------+
3 rows in set (0.00 sec)
可以看到现在
name字段的数据类型为VARCHAR(22)
- 下面修改其类型,输入如下语句:
ALTER TABLE tb_dept1 MODIFY name VARCHAR(30);
将数据表tb_dept1中的location字段名称改为loc,数据类型不变
SQL语句如下:
ALTER TABLE tb_dept1 CHANGE location loc VARCHAR(50);
将数据表tb_dept1中的loc字段名称改为location,同时将数据类型变为VARCHAR(60)
SQL语句如下:
ALTER TABLE tb_dept1 CHANGE loc location VARCHAR(60);
在数据表tb_dept1中添加一个没有完整性约束的INT类型的字段managerId(部门经理编号)
SQL语句如下:
ALTER TABLE tb_dept1 ADD managerId INT(10);
在数据表tb_dept1中添加一个不能为空的VARCHAR(12)类型的字段column1
SQL语句如下:
ALTER TABLE tb_dept1 ADD column1 VARCHAR(12) not null;
数据表tb_dept1中添加一个INT类型的字段column2
SQL语句如下:
ALTER TABLE tb_dept1 ADD column2 INT(11) FIRST;
数据表tb_dept1中name列后添加一个INT类型的字段column3
SQL语句如下:
ALTER TABLE tb_dept1 ADD column3 INT(11) AFTER name;
删除数据表tb_dept1表中的column2字段
SQL语句如下:
ALTER TABLE tb_dept1 DROP column2;
将数据表tb_dept中的column1字段修改为表的第一个字段
SQL语句如下:
ALTER TABLE tb_dept1 MODIFY column1 VARCHAR(12) FIRST;
将数据表tb_dept1中的column1字段插入到location字段后面
SQL语句如下:
ALTER TABLE tb_dept1 MODIFY column1 VARCHAR(12) AFTER location;
将数据表tb_deptment3的存储引擎修改为MyISAM
- 在修改存储引擎之前,先使用
SHOW CREATE TABLE查看表tb_deptment3当前的存储引擎,如下所示:
SHOW CREATE TABLE tb_deptment3 \G
*************************** 1. row ***************************Table: tb_deptment3
Create Table: CREATE TABLE `tb_deptment3` (`id` int(11) NOT NULL,`name` varchar(22) DEFAULT NULL,`location` varchar(50) DEFAULT NULL,PRIMARY KEY (`id`),UNIQUE KEY `STH` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312
1 row in set (0.00 sec)
可看到,表
tb_deptment3当前的存储引擎为ENGINE=InnoDB
- 接下来修改存储引擎类型,输入如下SQL语句:
ALTER TABLE tb_deptment3 ENGINE=MyISAM;
- 使用
SHOW CREATE TABLE再次查看表tb_deptment3的存储引擎,发现表tb_dept的存储引擎变成了“MyISAM”,如下所示:
SHOW CREATE TABLE tb_deptment3 \G
*************************** 1. row ***************************Table: tb_deptment3
Create Table: CREATE TABLE `tb_deptment3` (`id` int(11) NOT NULL,`name` varchar(22) DEFAULT NULL,`location` varchar(50) DEFAULT NULL,PRIMARY KEY (`id`),UNIQUE KEY `STH` (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=gb2312
1 row in set (0.00 sec)
删除数据表tb_emp9中的外键约束
- 首先创建表
tb_emp9,创建外键deptId关联tb_dept1表的主键id,SQL语句如下:
CREATE TABLE tb_emp9
(
id INT(11) PRIMARY KEY,
name VARCHAR(25),
deptId INT(11),
salary FLOAT,
CONSTRAINT fk_emp_dept FOREIGN KEY (deptId) REFERENCES tb_dept1(id)
);
- 使用
SHOW CREATE TABLE查看表tb_emp9的结构,如下:
SHOW CREATE TABLE tb_emp9 \G
*************************** 1. row ***************************Table: tb_emp9
Create Table: CREATE TABLE `tb_emp9` (`id` int(11) NOT NULL,`name` varchar(25) DEFAULT NULL,`deptId` int(11) DEFAULT NULL,`salary` float DEFAULT NULL,PRIMARY KEY (`id`),KEY `fk_emp_dept` (`deptId`),CONSTRAINT `fk_emp_dept` FOREIGN KEY (`deptId`) REFERENCES `tb_dept1` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312
1 row in set (0.00 sec)
可看到,已经成功添加了表的外键
- 下面删除外键约束,SQL语句如下:
ALTER TABLE tb_emp9 DROP FOREIGN KEY fk_emp_dept;
执行完之后,会删除表
tb_emp9的外键约束
- 使用
SHOW CREATE TABLE再次查看表tb_emp9结构,结果如下:
SHOW CREATE TABLE tb_emp9 \G
*************************** 1. row ***************************Table: tb_emp9
Create Table: CREATE TABLE `tb_emp9` (`id` int(11) NOT NULL,`name` varchar(25) DEFAULT NULL,`deptId` int(11) DEFAULT NULL,`salary` float DEFAULT NULL,PRIMARY KEY (`id`),KEY `fk_emp_dept` (`deptId`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312
1 row in set (0.00 sec)
删除数据表tb_dept2
SQL语句如下:
DROP TABLE IF EXISTS tb_dept2;
数据库中创建两个关联表
- 首先,创建表
tb_dept2
SQL语句如下:
CREATE TABLE tb_dept2
(
id INT(11) PRIMARY KEY,
name VARCHAR(22),
location VARCHAR(50)
);
- 接下来创建表
tb_emp
SQL语句如下:
CREATE TABLE tb_emp
(
id INT(11) PRIMARY KEY,
name VARCHAR(25),
deptId INT(11),
salary FLOAT,
CONSTRAINT fk_emp_dept FOREIGN KEY (deptId) REFERENCES tb_dept2(id)
);
- 用
SHOW CREATE TABLE命令查看表tb_emp的外键约束,如下:
SHOW CREATE TABLE tb_emp\G
*************************** 1. row ***************************Table: tb_emp
Create Table: CREATE TABLE `tb_emp` (`id` int(11) NOT NULL,`name` varchar(25) DEFAULT NULL,`deptId` int(11) DEFAULT NULL,`salary` float DEFAULT NULL,PRIMARY KEY (`id`),KEY `fk_emp_dept` (`deptId`),CONSTRAINT `fk_emp_dept` FOREIGN KEY (`deptId`) REFERENCES `tb_dept2` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312
1 row in set (0.00 sec)
可看到,以上执行结果创建了两个关联表
tb_dept2和表tb_emp,其中tb_emp表为子表,具有名称为fk_emp_dept的外键约束,tb_dept2为父表,其主键id被子表tb_emp所关联
删除被数据表tb_emp关联的数据表tb_dept2
- 首先直接删除父表
tb_dept2,输入删除语句如下:
DROP TABLE tb_dept2;
ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails
可看到,如前所述,在存在外键约束时,主表不能被直接删除。
- 接下来,解除关联子表
tb_emp的外键约束,
SQL语句如下:
ALTER TABLE tb_emp DROP FOREIGN KEY fk_emp_dept;
语句成功执行后,将取消表
tb_emp和表tb_dept2之间的关联关系
- 这时,可以输入删除语句,将原来的父表
tb_dept2删除,SQL语句如下:
DROP TABLE tb_dept2;
- 最后通过
SHOW TABLES;查看数据表列表,如下所示:
show tables;
+---------------------+
| Tables_in_test_db |
+---------------------+
| tb_dept |
| tb_deptment3 |
.....省略部分表
可看到,数据表列表中已经不存在名称为tb_dept2的表
好了,快乐的时光总是过得很快,mysql数据表的基本操作内容到此结束,下周再见啦!!!
😆想要了解更多内容请点击“练小杰的CSDN”
ℹ️欢迎各位在评论区踊跃讨论,积极提出问题,解决困惑!!!

相关文章:
我在广州学 Mysql 系列之 数据“表”的基本操作
ℹ️大家好,我是😆练小杰,今天主要讲得是Mysql数据表的基本操作内容~~ 昨天讲了“Mysql 数据“库“的基本操作”~~ 想要了解更多🈶️MYSQL 数据库的命令行总结!!! “真相永远只有一个”——工藤…...
auto-gptq安装以及不适配软硬件环境可能出现的问题及解决方式
目录 1、auto-gptq是什么?2、auto-gptq安装3、auto-gptq不正确安装可能会出现的问题(1)爆出:CUDA extension not installed.(2)没有报错但是推理速度超级慢 1、auto-gptq是什么? Auto-GPTQ 是一…...
【R语言】基础知识
一、对象与变量 R语言中的所有事物都是对象,如向量、列表、函数,变量、甚至环境等。它的所有代码都是基于对象object的操作,变量只是调用对象的手段。 1、对象 在R语言中,对计算机内存的访问是通过对象实现的。 # 字符型向量 …...
【一本通】虫洞
【一本通】虫洞 C语言代码C代码JAVA代码 💐The Begin💐点点关注,收藏不迷路💐 John在他的农场中闲逛时发现了许多虫洞。虫洞可以看作一条十分奇特的有向边,并可以使你返回到过去的一个时刻(相对你进入虫洞之…...
python爬虫--小白篇【爬虫实践】
一、前言 1.1、王者荣耀皮肤爬虫 根据王者荣耀链接,将王者荣耀的全部英雄的全部皮肤图片爬取保存到本地。经过分析得到任务的三个步骤: 根据首页全部英雄列表连接获取全部英雄的名称hero_name以及对应的hero_id;根据单个英雄的hero_name和h…...
Unity背包道具拖拽(极简版实现)
(感觉Csdn代码页面可以再大一点或者加个放大功能 不然得划着看不太舒服) 1.关键接口,三个拖拽相关的 2.关键参数,PointerEventData 一直没仔细看过,其实有包含鼠标相关的很多参数,鼠标点击次数ÿ…...
spark读取普通文件
spark读取普通文件 txt文件 """ 将一行数据当做一个字段,需要自己切割 字段名称为value 表结构 可以从sql中搞 """ df spark.read.text("../../data/wordcount/input/data.txt") df spark.read.format("text"…...
MySQL SQL语句性能优化
MySQL SQL语句性能优化指南 一、查询设计优化1. 避免 SELECT *2. 使用 WHERE 进行条件过滤3. 避免在索引列上使用函数和表达式4. 使用 LIMIT 限制返回行数5. 避免使用子查询6. 优化 JOIN 操作7. 避免全表扫描 二、索引优化1. 使用合适的索引2. 覆盖索引3. 索引选择性4. 多列索引…...
【蓝桥杯每日一题】技能升级
技能升级 2024-12-10 蓝桥杯每日一题 技能升级 二分 题目大意 一个角色有 N 种可以增加攻击力的技能,对于第 i 个技能首次升级可以提升 A i A_i Ai 点攻击力,随后的每次升级增加的攻击力都会减少 B i B_i Bi 。升级 ⌈ A i B i ⌉ \lceil \frac{A…...
css 实现在一条线上流动小物体(offset-path)
直接贴代码,留几个参考网址给大家 【SVG】路径<Path>标签详解,一次搞懂所有命令参数 探秘神奇的运动路径动画 Motion Path <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport&quo…...
探索 Robyn 框架 —— 下一代高性能 Web 框架
技术博客:探索 Robyn 框架 —— 下一代高性能 Web 框架 什么是 Robyn? Robyn 是一个用 Rust 编写的高性能 Web 框架,旨在通过极简设计和高效并发处理,帮助开发者快速构建可扩展的现代 Web 应用。得益于 Rust 的内存安全性和性能…...
STL容器-map P3613【深基15.例2】寄包柜 普及-
题目来源:洛谷题库 文章目录 map例题map知识点map使用注意:map的常用用法 map例题 P3613【深基15.例2】寄包柜 普及- 题意 根据数据插入/查询 思路 map键值对可以根据柜子编号查找物品,但是柜子又有很多个,考虑数组或者map数组…...
【MySQL 进阶之路】了解 性能优化 与 设计原则
1.B树的优势 “矮胖”结构: 矮:B树的每个节点存储更多的关键字,从而减少了树的层级(最多三层),减少了磁盘I/O操作,提高了查询效率。胖:叶子节点存储实际的数据,并使用双…...
MySQL之数据库三大范式
一、什么是范式? 范式是数据库遵循设计时遵循的一种规范,不同的规范要求遵循不同的范式。 (范式是具有最小冗余的表结构) 范式可以 提高数据的一致性和 减少数据冗余和 更新异常的问题 数据库有六种范式(1NF/2NF/3NF…...
[大数据]Hudi
G:\Bigdata\17.hudi\大数据技术之数据湖Hudi 第1章 Hudi概述 1.1 Hudi简介 Apache Hudi(Hadoop Upserts Delete and Incremental)是下一代流数据湖平台。Apache Hudi将核心仓库和数据库功能直接引入数据湖。Hudi提供了表、事务、高效的upserts/delete、高级索引、流摄取服…...
jenkins harbor安装
Harbor是一个企业级Docker镜像仓库。 文章目录 1. 什么是Docker私有仓库2. Docker有哪些私有仓库3. Harbor简介4. Harbor安装 1. 什么是Docker私有仓库 Docker私有仓库是用于存储和管理Docker镜像的私有存储库。Docker默认会有一个公共的仓库Docker Hub,而与Dock…...
JavaScript 高级特性与 ES6 新特性:正则表达式的深度探索
在现代 JavaScript 开发中,正则表达式(Regular Expressions)和高级特性、ES6 新特性的结合使用,能够极大地提升代码的简洁性、可读性和功能性。本文将深入探讨 JavaScript 中的正则表达式及其在高级特性和 ES6 新特性中的应用&…...
正则表达式——参考视频B站《奇乐编程学院》
智能指针 一、背景🎈1.1. 模式匹配🎈1.2. 文本替换🎈1.3. 数据验证🎈1.4. 信息提取🎈1.5. 拆分字符串🎈1.6. 高级搜索功能 二、原料2.1 参考视频2.2 验证网址 三、用法3.1 限定符3.1.1 ?3.1.2 *3.1.3 3.1.…...
【FFmpeg】FFmpeg 内存结构 ⑥ ( 搭建开发环境 | AVPacket 创建与释放代码分析 | AVPacket 内存使用注意事项 )
文章目录 一、搭建开发环境1、开发环境搭建参考2、项目搭建 二、AVPacket 创建与释放代码分析1、AVPacket 创建与释放代码2、Qt 单步调试方法3、单步调试 - 分析 AVPacket 创建与销毁代码 三、AVPacket 内存使用注意事项1、谨慎使用 av_init_packet 函数2、av_init_packet 函数…...
【多模态文档智能】OCR-free感知多模态大模型技术链路及训练数据细节
目前的一些多模态大模型的工作倾向于使用MLLM进行推理任务,然而,纯OCR任务偏向于模型的感知能力,对于文档场景,由于文字密度较高,现有方法往往通过增加图像token的数量来提升性能。这种策略在增加新的语言时࿰…...
seo外包公司如何提高网站的用户体验_seo外包公司有哪些常见的优化方法
seo外包公司如何提高网站的用户体验 在当前的数字化时代,网站的用户体验(User Experience, UX)已经成为网站成功的关键因素之一。优秀的用户体验不仅能提升网站的流量,还能增加用户的黏性和转化率。对于那些选择了外包SEO服务的企…...
GTE语义搜索在网络安全领域的应用:威胁情报分析系统
GTE语义搜索在网络安全领域的应用:威胁情报分析系统 1. 网络安全的新挑战与机遇 每天,安全分析师都要面对海量的威胁数据——从安全警报、漏洞报告到攻击日志,信息量庞大且分散。传统的关键词搜索就像是用渔网捞针,经常漏掉重要…...
天龙八部GM工具终极指南:5步掌握高效游戏管理技巧
天龙八部GM工具终极指南:5步掌握高效游戏管理技巧 【免费下载链接】TlbbGmTool 某网络游戏的单机版本GM工具 项目地址: https://gitcode.com/gh_mirrors/tl/TlbbGmTool TlbbGmTool是一款专为《天龙八部》单机版本设计的专业游戏管理工具,为游戏管…...
SSM学习之使用@ResquestBody注解处理json格式的请求参数
在学习ajax异步请求的时候,如果通过post请求发送json格式的请求参数,服务端是无法通过request.getParameter()方法获取请求参数的。那么在ssm学习过程中,我学到了一个处理json格式的请求参数的注解RequestBody。它的作用是将请求体中的内容和…...
On the Spectral Geometry of Cognitive Manifolds and the Emergence of Physical Laws
On the Spectral Geometry of Cognitive Manifolds and the Emergence of Physical Laws (A Noncommutative Framework for Free Will, Physical Constants, and Arithmetical Obstructions)作者:方见华 单位:世毫九实验室摘要&am…...
CSS定位如何实现模态框垂直居中_使用负边距或transform
transform: translate(-50%, -50%) 是最稳的居中方式,配合 position: absolute 或 fixed 及 top: 50%、left: 50%,可无视元素尺寸变化实现精准居中,且兼容滚动与响应式场景。用 transform: translate(-50%, -50%) 是最稳的居中方式绝对定位 …...
空间多组学三大算法实战:从cell2location定位到Hotspot富集,一站式解析组织微环境
1. 空间多组学分析工作流概览 空间多组学技术正在彻底改变我们对组织微环境的理解方式。想象一下,你手里同时握有单细胞转录组数据和空间转录组数据,就像同时拥有了食材清单和菜谱,但如何把这些原材料变成一道美味佳肴?这就是我们…...
我用Hermes Agent的经历——对比OpenClaw
前言 昨天在中山出差,等客户的间隙掏出手机,在微信里存了点东西给Hermes Agent。 没有打开电脑,没有配置环境,就是随手往对话框里扔了几个问题。 然后Hermes Agent直接帮我把文档写好了。OpenClaw的体验 坦白说,OpenCl…...
MBTI职业性格测试
...
借助AIBIYE的AI改写功能,学习五个核心技巧,快速优化论文内容以达到低重复率标准。
嘿,大家好!我是AI菌。今天咱们来聊聊一个让无数学生头疼的问题:论文重复率飙到30%以上怎么办?别慌,我这就分享5个实用降重技巧,帮你一次搞定,轻松压到合格线以下。这些方法都是我亲身试验过的&a…...
