MySQL数据库基本操作和完整性约束类型详解
目录
- 一、增删改查的sql语句
- 二、表完整性约束
- 1、表完整性约束的介绍
- 2、常见的完整性约束类型
- 3、表完整性约束实战操作
- 3.1.主键primary key
- 3.2.自增键auto_increment
- 3.3.唯一键UNIQUE
- 3.4.null与not null
- 3.5.默认约束
一、增删改查的sql语句
SQL(Structured Query Language 即结构化查询语言)
SQL语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统,SQL语言由IBM开发。
DDL语句—数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER
DML语句—数据库操纵/操作语言(对记录的操作): 插入数据INSERT、删除数据DELETE、更新数据UPDATE
DCL语句—数据库控制语言(和权限有关): 例如控制用户的访问权限GRANT、REVOKE
DQL语句—数据库查询语言: 查询数据SELECT
库相当于windows/linux中的一个目录,用于存放文件的
库里面存放了若干张表,表可以看作成是一个文件。
每一行叫做记录,除了第一行。
每一列叫一个字段。列上面的第一个叫字段名称。
创建数据库
mysql> create database 库名;查看数据库
mysql> show databases;
进入数据库
mysql> use 库名
查看当前所在的库
mysql> select database();
创建表案例:
mysql> create table users( id int primary key, #id字段名,int数据类型,整数 primary key主键name varchar(30), #name字段名,varchar(30)可变长字符串,限制30字符age int #age是字段名 数据类型是int整数,
)ENGINE=InnoDB DEFAULT CHARSET=utf8; #指定存储引擎,设置默认的字符集
参数解释
表名:需要创建的表名
字段:表中包含的各个字段名和类型
类型:字段的类型,如int、varchar等
宽度:某些类型的长度限制,如varchar(50)
约束条件:给字段添加的约束,如primary key、 null 等
存储引擎:指定表使用的存储引擎,如InnoDB、MyISAM等
字符集:指定表使用的字符集,如utf8等
注意:在同一张表中,字段名是不能相同;宽度和约束条件是可选的;字段名和类型是必须的。
1、创建表:
mysql> create table t1(id int,name varchar(20),age int); # 字段 类型 字段 类型(长度),字段 类型
mysql> create table t2(id int,name varchar(50),sex enum('m','f'),age int);
#m:male f:female 女士
2、查看有哪些表
mysql> show tables;
3、查看表结构
mysql> desc t1;
4、查看表里面的所有记录
语法: select 内容 from 表名;
mysql> select * from t1;
#*代表所有内容
5、查看表里面的指定字段的数据
语法:select 字段,字段 from 表名;
mysql> select name,sex from t1;
6、查看表的状态
mysql> show table status like '表名'\G
#每条SQL语句会以分号结尾,想看的清楚一些以\G结尾,一条记录一条记录显示。
#(把表90度向左反转,第一列显示字段,第二列显示记录)使用的\G就不用添加分号了
7、修改表名称
方式一
语法:rename table 旧表名 to 新表名;
mysql> rename table t1 to t2;
Query OK, 0 rows affected (0.00 sec)
方式二
语法:alter table 旧表名 rename 新表名;
mysql> alter table t2 rename t3;
8、使用edit(\e)编辑
mysql> \e
create table users2(id int primary key,name varchar(30),age int(3)
)ENGINE=InnoDB DEFAULT CHARSET=utf8-> ;
#可以写新的语句,调用的vim编辑器,在里面结尾的时候不加分号,保存退出之后在加“;”
9、删除表:在企业中是危险操作,慎用!
mysql> drop table 表名;
10、删除库:在企业中是危险操作,慎用!
mysql> drop database 库名;
二、表完整性约束
1、表完整性约束的介绍
数据完整性指的是数据的一致性和正确性。
完整性约束是指数据库的内容必须遵守约束的规则。
若定义了数据完整性约束,MySQL会负责数据的完整性,每次更新数据时,MySQL都会测试新的数据内容是否符合相关的完整性约束条件,只有符合完整性的约束条件的更新才被接受。
作用:为了规范数据格式, 在用户进行插入、修改、删除等操作时,DBMS(数据库管理系统(Data Base Management System))自动按照约束条件对数据进行监测, 使不符合规范的数据不能进入数据库,以确保数据的完整性和唯一性
2、常见的完整性约束类型
约束条件说明PRIMARY KEY (PK)标识该字段为该表的主键,可以唯一的标识记录,不能为空UNIQUE + NOT NULL标识该字段的值是唯一的,且不能为空FOREIGN KEY (FK) 标识该字段为该表的外键,实现表与表之间的关联NULL标识是否允许为空,默认为NULLNOT NULL 标识该字段不能为空,可以修改UNIQUE KEY (UK)标识该字段的值是唯一的,可以为空AUTO_INCREMENT标识该字段的值自动增长(整数类型,而且为主键)DEFAULT为该字段设置默认值
主键和外键的区别:
主键用于唯一标识表中的每一行,不允许重复。而外键只是用于引用其他表中的主键,可以重复。
主键在建表时就需要定义,不能为空。而外键可以为空。
主键一般选择不重复且不易改变的字段。外键一般选择另一个表中的主键。
主键在数据修改时提供紧密控制,外键提供了表与表之间关联的链接。
删除主键记录,表中此记录将被删除。删除外键记录,外键与主键的关联会被删除,但数据仍存在。
举个简单的例子:学生表的ID字段是主键,课程表也有ID字段,但是课程表中的学生ID字段引用学生表的ID字段,课程表中的学生ID就叫外键。
总结:
- 主键用于标识表中的每一行
- 外键用于关联两个表
- 主键不允许重复
- 外键可以重复
3、表完整性约束实战操作
3.1.主键primary key
每张表里只能有一个主键,不能为空,而且唯一,主键保证记录的唯一性,主键自动为NOT NULL。
拓展知识:
未设置主键时如何处理表?
首先Innodb从上往下搜索所有字段, 直到找到一个非空且唯一的字段, 该字段就会自动升级为主键
如果表中既没有主键, 也没有非空且唯一的字段, 那么InnoDB会采用自己内部提供的一个隐藏字段作为主键, 此时提升查询效率的作用就无法享受了(隐藏字段看不见)
即:一个UNIQUE KEY 又是一个NOT NULL的时候,那么它被当做PRIMARY KEY主键。
定义两种方式:
#表存在,添加约束
mysql> alter table t03 add primary key (hostname);案例:
mysql> desc t03;
+-----------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+---------+------+-----+---------+-------+
| born_year | year(4) | YES | | NULL | |
+-----------+---------+------+-----+---------+-------+
1 row in set (0.00 sec)
#指定born_year为主键
mysql> alter table t03 add primary key (born_year);
Query OK, 0 rows affected (0.06 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc t03;
+-----------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+---------+------+-----+---------+-------+
| born_year | year(4) | NO | PRI | NULL | |
+-----------+---------+------+-----+---------+-------+
1 row in set (0.00 sec)#创建表并指定主键约束
mysql> create table t9(hostname char(20),ip char(150),primary key(hostname));
mysql> insert into t9(hostname,ip) values('edu.com', '10.10.10.11');
Query OK, 1 row affected (0.00 sec)
mysql> insert into t9(hostname,ip) values('edu.com', '10.10.10.12');
ERROR 1062 (23000): Duplicate entry 'edu.com' for key 'PRIMARY'
#主键冲突了,主键有且只能有一个
mysql> insert into t9(hostname,ip) values('edu', '10.10.10.11');
Query OK, 1 row affected (0.01 sec)
mysql> select * from t9;
+-----------+-------------+
| hostname | ip |
+-----------+-------------+
| edu | 10.10.10.11 |
| edu.com | 10.10.10.11 |
+-----------+-------------+
2 rows in set (0.00 sec)
mysql> insert into t9(hostname,ip) values('jy', '10.10.10.12');
Query OK, 1 row affected (0.00 sec)
#可以插入成功,因为ip并不是主键
mysql> select * from t9;
+-----------+-------------+
| hostname | ip |
+-----------+-------------+
| edu | 10.10.10.11 |
| edu.com | 10.10.10.11 |
| jy | 10.10.10.12 |
+-----------+-------------+
3 rows in set (0.00 sec)
#删除主键
mysql> alter table t9 drop primary key;
#再查看一下表结构,看看hostname是否为主键了
mysql> desc t9;
3.2.自增键auto_increment
设置后,会自动编号,且必须与主键组合使用,默认情况下,起始值为1,每次的增量为1。
当插入数据时,如果为AUTO_INCREMENT数据列明确指定了一个数值
则会出现两种情况:
1、如果插入的值与已有的编号重复,则会出现出错信息,因为AUTO_INCREMENT数据列的值必须是唯一的;
2、如果插入的值大于已编号的值,则会把它插入到数据列中,并在下一个编号将从这个新值开始递增。也就是说,可以跳过一些编号。如果自增序列的最大值被删除了,则在插入新记录时,该值被重用。
每张表只能有一个字段为自增,而且必须要成了key也就是主键才可以自动增长
案例
mysql> CREATE TABLE department3 (dept_id INT PRIMARY KEY AUTO_INCREMENT,dept_name VARCHAR(30),comment VARCHAR(50));
上述案例是创建了一个department3(部门3)的表格,并且将dept_id部门id设置成了主键和自增键,后续添加了一个部门成员就会自动加1
查看表结构:mysql> select * from department3;
Empty set (0.00 sec)#插入数据,一次插入2条数据,它会自动增加id号,从1开始自增
mysql> insert into department3(dept_name, comment) values('tom','test'), ('jack', 'test2');
Query OK, 2 rows affected (0.00 sec)mysql> select * from department3;
+---------+-----------+---------+
| dept_id | dept_name | comment |
+---------+-----------+---------+
| 1 | tom | test |
| 2 | jack | test2 |
+---------+-----------+---------+
2 rows in set (0.00 sec)#也可以指定id插入,直接跳过3和4
mysql> insert into department3(dept_id,dept_name,comment) values('5','bob','test5');
Query OK, 1 row affected (0.00 sec)#或者,不指定字段也是可以的,不指定具体的字段就是必须要插入3个数据值
mysql> insert into department3 values('6','jary','test6');#查询数据
mysql> select * from department3;
+---------+-----------+---------+
| dept_id | dept_name | comment |
+---------+-----------+---------+
| 1 | tom | test |
| 2 | jack | test2 |
| 5 | bob | test5 |
| 6 | jary | test6 |
+---------+-----------+---------+#删除自动增长
#语法:ALTER TABLE table_name CHANGE old_col_name new_col_name column_definition(列定义约束条件)
mysql> ALTER TABLE department3 CHANGE dept_id dept_id INT NOT NULL;
Query OK, 2 rows affected (0.01 sec)
Records: 2 Duplicates: 0 Warnings: 0mysql> desc department3;
+-----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| dept_id | int(11) | NO | PRI | NULL | |
| dept_name | varchar(30) | YES | | NULL | |
| comment | varchar(50) | YES | | NULL | |
+-----------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
3.3.唯一键UNIQUE
设置唯一约束UNIQUE,字段添加唯一约束之后,该字段的值不能重复,也就是说在一列当中不能出现一样的值。
案例
mysql> CREATE TABLE department2 (dept_id INT,dept_name VARCHAR(30) UNIQUE,comment VARCHAR(50));
Query OK, 0 rows affected (0.00 sec)#插入第一条数据
mysql> insert into department2(dept_id,dept_name,comment) values('1','tom',good'')#插入第二条数据
mysql> insert into department2(dept_id,dept_name,comment) values('2','tom',good'')
ERROR 1062 (23000): Duplicate entry 'tom' for key 'dept_name'
#插入数据的时候id和comment字段相同可以插入数据,如果有相同的名字不唯一。所以插入数据失败。#将名字换掉再次插入
mysql> insert into department2(dept_id,dept_name,comment) values('2','jack',good'')
Query OK, 1 row affected (0.00 sec)#插入第三条数据,id可以相同,名字不能相同
mysql> insert into department2(dept_id,dept_name,comment) values('2','jim',good'')
Query OK, 1 row affected (0.00 sec)mysql> select * from department2;
+---------+-----------+---------+
| dept_id | dept_name | comment |
+---------+-----------+---------+
| 1 | tom | good |
| 2 | jack | good |
| 2 | jim | good |
+---------+-----------+---------+
3 rows in set (0.00 sec)
3.4.null与not null
是否允许为空,默认NULL,可设置NOT NULL,字段不允许为空,必须赋值
字段是否有默认值,默认值是NULL,如果插入记录时不给字段赋值,此字段使用默认值,也就是空值
例如:sex enum('male','female') not null default 'male'
只能选择male和female,不允许为空,默认是male
案例:不允许为空not null
#创建表格
mysql> create table t2(id int(5),name varchar(10),sex enum('male','female') not null default 'male');
Query OK, 0 rows affected (0.00 sec)#查看表结构
mysql> desc t2;
+-------+-----------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-----------------------+------+-----+---------+-------+
| id | int(5) | YES | | NULL | |
| name | varchar(10) | YES | | NULL | |
| sex | enum('male','female') | NO | | male | |
+-------+-----------------------+------+-----+---------+-------+
3 rows in set (0.00 sec)#插入数据
mysql> insert into t2(id,name) values(1,'tom');#查询数据
mysql> select * from t4;
+------+------+------+
| id | name | sex |
+------+------+------+
| 1 | tom | male |
+------+------+------+
1 row in set (0.00 sec)#再插入一条
mysql> insert into t2 values(1,'jack','female');
Query OK, 1 row affected (0.00 sec)mysql> select * from t2;
+------+------+--------+
| id | name | sex |
+------+------+--------+
| 1 | tom | male |
| 1 | jack | female |
+------+------+--------+
2 rows in set (0.00 sec)#加错了,删掉,使用delete删除
#语法:DELETE FROM table_name WHERE column_name = 'value';
#多条件匹配:DELETE FROM table_name WHERE column_name1 = 'value1' AND column_name2 = 'value2';
#操作:
mysql> delete from t2 where name='jack';
Query OK, 1 row affected (0.00 sec)mysql> select * from t2;
+------+------+------+
| id | name | sex |
+------+------+------+
| 1 | tom | male |
+------+------+------+
1 row in set (0.00 sec)
#允许为空null
mysql> create table t3(id int(5),name varchar(10),age int(5));
Query OK, 0 rows affected (0.00 sec)#查看表结构
mysql> desc t3;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int(5) | YES | | NULL | |
| name | varchar(10) | YES | | NULL | |
| age | int(5) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.01 sec)mysql> insert into t3(id,name) values(1,'tom');
Query OK, 1 row affected (0.00 sec)mysql> select * from t3;
+------+------+------+
| id | name | age |
+------+------+------+
| 1 | tom | NULL |
+------+------+------+
1 row in set (0.00 sec)
指定字符集:
#在创建表的最后面指定一下: default charset=utf8
mysql> create table t4(id int(5)) default charset=utf8;
Query OK, 0 rows affected (0.01 sec)
3.5.默认约束
添加/删除默认约束
#创建一个表
mysql> create table user(id int not null, name varchar(20), number int, primary key(id));
Query OK, 0 rows affected (0.01 sec)mysql> describe user;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | varchar(20) | YES | | NULL | |
| number | int(11) | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)#设置默认值,将number这个字段设置成:不给这个字段赋值时,默认为0,而不是为空
mysql> ALTER TABLE user ALTER number SET DEFAULT 0;
Query OK, 0 rows affected (0.00 sec)
Records: 0 Duplicates: 0 Warnings: 0mysql> DESCRIBE user;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | varchar(20) | YES | | NULL | |
| number | int(11) | YES | | 0 | |
+--------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)#将id这个字段设置成自增建
mysql> ALTER TABLE user CHANGE id id INT NOT NULL AUTO_INCREMENT;
Query OK, 2 rows affected (0.01 sec)
Records: 2 Duplicates: 0 Warnings: 0#查看表结构
mysql> desc user;
+--------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | YES | | NULL | |
| number | int(11) | YES | | 0 | |
+--------+-------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)#插入数据
mysql> INSERT INTO user(name) VALUES('rock');
Query OK, 1 row affected (0.00 sec)mysql> INSERT INTO user(name) VALUES('rock');
Query OK, 1 row affected (0.00 sec)mysql> select * from user;
+----+------+--------+
| id | name | number |
+----+------+--------+
| 1 | rock | 0 |
| 2 | rock | 0 |
+----+------+--------+
2 rows in set (0.00 sec)#如果我想自己填number的值,也是可以的
mysql> insert into user values('3','rock1','2');
Query OK, 1 row affected (0.00 sec)mysql> select * from user;
+----+-------+--------+
| id | name | number |
+----+-------+--------+
| 1 | rock | 0 |
| 2 | rock | 0 |
| 3 | rock1 | 2 |
+----+-------+--------+
3 rows in set (0.00 sec)#不指定自增建的值,也是可以的,它会自动增加
mysql> insert into user(name,number) values('jack','4');
Query OK, 1 row affected (0.00 sec)mysql> select * from user;
+----+-------+--------+
| id | name | number |
+----+-------+--------+
| 1 | rock | 0 |
| 2 | rock | 0 |
| 3 | rock1 | 2 |
| 4 | jack | 4 |
+----+-------+--------+
4 rows in set (0.00 sec)#删除默认值
mysql> ALTER TABLE user ALTER number drop DEFAULT;#再次查看表结构
mysql> desc user;
+--------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | YES | | NULL | |
| number | int(11) | YES | | NULL | |
+--------+-------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)
#就能看到number这个字段的Default为空了
相关文章:

MySQL数据库基本操作和完整性约束类型详解
目录 一、增删改查的sql语句二、表完整性约束1、表完整性约束的介绍2、常见的完整性约束类型3、表完整性约束实战操作3.1.主键primary key3.2.自增键auto_increment3.3.唯一键UNIQUE3.4.null与not null3.5.默认约束 一、增删改查的sql语句 SQL(Structured Query Lan…...

unity2022版本 实现加减进度条
简介 在现代游戏开发中,用户界面 (UI) 扮演着至关重要的角色,它不仅为玩家提供信息,还增强了游戏的可玩性。加减进度条是一种常见的UI元素,它可以用于显示游戏中的进度、倒计时、资源管理和其他关键信息。在这篇博客中࿰…...

COCO数据集中图像的caption读取到txt文件
annotations_trainval2017.zip import os import shutil import jsoncaptions_path r"G:\SketchDiffusion\Sketchycoco\Dataset\annotations\captions_train2017.json" # 读取json文件 with open(captions_path, r) as f1:dictortary json.load(f1)# 得到images和…...

再谈Java泛型
一.类型参数的约束 我们可以对泛型传进来的参数做一些约束,比如说 用extends表明传进来的参数类型必须是必须是某个类型的子类型或者本身 当然也可以用接口约束,也是用extends表明传进来的参数类型必须实现某个接口。用&连接,注意class…...

scss使用自定义函数实现单位像素随屏幕比例动态缩放
vue中通过变量和scss函数来动态实现动态缩放像素 简单来说就是比例缩小时,像素单位变大,从而字体大小相对不变,以下仅处理比例缩小的状况 自定义一个属性–size,初始值为1px template <template><div class"hom…...

Django 静态自定义化配置
STATIC # APP本地静态资源目录(就APP对应的) STATIC_URL "/static/"# 远程静态文件URL(少用) REMOTE_STATIC_URL# 外部引用静态文件目录(外层的) STATICFILES_DIRS [os.path.join(BASE_DIR, &…...

TensorFlow入门(十四、数据读取机制(1))
TensorFlow的数据读取方式 TensorFlow的数据读取方式共有三种,分别是: ①预加载数据(Preloaded data) 预加载数据的方式,其实就是静态图(Graph)的模式。即将数据直接内嵌到Graph中,再把Graph传入Session中运行。 示例代码如下: import tensorflow.compat.v1 as tf tf.disabl…...

hyperf框架WebSocket 服务
1:安装 composer require hyperf/websocket-server2:配置 Server 修改 config/autoload/server.php,增加以下配置。 return [servers > [[name > ws,type > Server::SERVER_WEBSOCKET,host > 0.0.0.0,port > 9502,sock_typ…...

前端模块化
当我们从公司招聘上看到要求模块化的内容。 能从这几个角度回答,就说明我们是懂模块化的。 1. 模块化的本意,是当遇到一个复杂项目的时候(简单的不建议用),把这个复杂的问题拆分成相对独立的模块,降低程序…...

如何使用Docker轻松构建和管理应用程序(一)
如今Docker的使用已经非常普遍,特别在一线互联网公司。使用Docker技术可以帮助企业快速水平扩展服务,从而到达弹性部署业务的能力。在云服务概念兴起之后,Docker的使用场景和范围进一步发展,如今在微服务架构越来越流行的情况下&a…...

uniapp 获取地理位置(uni#getLocation和高德sdk获取中文地址)
参考 https://uniapp.dcloud.net.cn/api/location/location.html https://ask.dcloud.net.cn/article/35070 1. uniapp api获取经纬度 uni.getLocation({type: wgs84,success: function (res) {console.log(当前位置的经度: res.longitude);console.log(当前位…...

openmp 通用核心 学习 2 数据环境—任务-内存模型
目录 openmp 数据环境 子句: 在上述三个子句中也可以传入指针和数组 openmp 任务: openmp内存模型: openmp 数据环境 子句: shared(list) private(list)//默认构造 值未被初始化 对于图6-5: //File #1 int tm…...

Linux有哪些指令
Linux操作系统提供了许多指令,可以帮助用户进行各种操作。以下是一些常见的Linux指令: ls:列出当前目录下的文件和目录。cd:改变当前工作目录。pwd:显示当前工作目录。mkdir:创建新的目录。rm:…...

图扑 HT for Web 风格属性手册教程
图扑软件明星产品 HT for Web 是一套纯国产化独立自主研发的 2D 和 3D 图形界面可视化引擎。HT for Web(以下简称 HT)图元的样式由其 Style 属性控制,并且不同类型图元的 Style 属性各不相同。为了方便查询和理解图元的 Style 属性࿰…...

oracle 数据库删除序列
oracle 数据库删除序列 要删除 Oracle 数据库中的序列,你可以使用以下的 SQL 命令: DROP SEQUENCE sequence_name;其中,sequence_name 是你想删除的序列的名称。你需要确保当前用户对序列拥有适当的权限。 请注意,删除序列将永…...

JAVA毕业设计098—基于Java+Springboot的在线教育课程视频(源码+数据库)
基于JavaSpringboot的在线教育课程视频(源码数据库)098 一、系统介绍 本系统分为管理员、教师、用户三种角色(角色菜单可自行分配) 用户功能: 注册、登录、课程搜索、视频观看、课程资料发布、资料浏览、用户中心、我的发布、通知信息、密码修改 教师功能&…...

如何在雷电模拟器上安装Magisk并加载movecert模块抓https包(二)
接来下在PC端安装和配置Charles,方法同下面链接,不再赘述。在模拟器上安装magisk实现Charles抓https包(二)_小小爬虾的博客-CSDN博客 一、记录下本机IP和代理端口 二、在手机模拟器上设置代理192.168.31.71:8888,设置…...

基于web的酒店客房管理系统
目录 前言 一、技术栈 二、系统功能介绍 用户信息管理 会员信息管理 客房信息管理 收藏客房管理 用户入住管理 客房清扫管理 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施…...

linux查看系统信息
Linux查看当前操作系统版本信息 cat /proc/version Linux version 2.6.32-696.el6.x86_64 (mockbuildc1bm.rdu2.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC) ) #1 SMP Tue Mar 21 19:29:05 UTC 2017 Linux查看版本当前操作系统内核信息 uname -a Linux…...

蓝牙官网demo的记录
目录 一、官网蓝牙demo 二、可以参考的博客带蓝牙demo 一、官网蓝牙demo 平常看android官网,发现有两个不同的文档地址: 连接 | Android 开源项目 | Android Open Source Project 蓝牙概览 | Connectivity | Android Developers 蓝牙demo在 …...

Linux相关概念及常见指令
注意:本篇博客除了讲解Linux的相关指令,还穿插着Linux相关概念及原理的讲解。 账号相关指令 whoami:查看当前用户 adduser 用户名: 添加新用户 passwd 用户名:为这个用户设置密码 ls指令 1.Linux中文件的理解 文件是Linux中存储数据的基本单…...

CentOS 系统如何在防火墙开启端口
在 CentOS 上,你可以使用 firewall-cmd 命令来开启防火墙的特定服务或端口。以下是在 CentOS 上开启 3306 端口的步骤: 检查防火墙状态:可以使用以下命令检查防火墙的状态: sudo firewall-cmd --state如果防火墙处于活动状态&…...

2023年电工(初级)证考试题库及电工(初级)试题解析
题库来源:安全生产模拟考试一点通公众号小程序 2023年电工(初级)证考试题库及电工(初级)试题解析是安全生产模拟考试一点通结合(安监局)特种作业人员操作证考试大纲和(质检局&#…...

vue拦截器是什么,如何使用
Vue拦截器是一种用来拦截并处理HTTP请求和响应的机制,它可以在请求或响应发送前或后进行一些预处理或处理。在Vue中,可以使用axios库来实现拦截器,axios库是一个基于Promise的HTTP客户端,可以用于浏览器和Node.js平台。 使用axio…...

CSS 之 table 表格布局
一、简介 除了使用HTML的<table>元素外,我们还可以通过display: table/inline-table; 设置元素内部的布局类型为表格布局。并结合table-cell、table-row等相关CSS属性值可以实现HTML中<table>系列元素的效果,具有表头、表尾、行、单元格…...

【Kotlin精简】第2章 集合
1 简介 在 Kotlin 中集合主要分为可变集合与只读集合,其中可变集合使用 “Mutable” 前缀 集合类名表示,比如 MutableList、MutableSet、MutableMap 等。而对于只读集合就是和 Java 中集合类名是一致。 Java 中的 List 非 Kotlin 中的 List , 因为 Kot…...

VSCODE+PHP8.2配置踩坑记录
VSCODEPHP8.2配置踩坑记录 – WhiteNights Site 我配置过的最恶心的环境之一:windows上的php。另一个是我centos服务器上的php。 进不了断点 端口配置和xdebug的安装 这个应该是最常见的问题了。从网上下载完php并解压到本地,打开vscode,安装…...

React 状态管理 - Context API 前世今生(下)
New Context API Provider【context的生产者组件】 createContext 创建一个Context对象,订阅了整个Context对象的组件,会从组件树中离自身最近的那个匹配的Provider中读取到当前的context值。Context.Provider 父Context对象返回的Provider组件&#x…...

地下城堡3魂之诗阵容搭配攻略
在地下城堡3魂之诗游戏中,拥有一个合理搭配的阵容非常关键,可以让角色能力发挥最大化。以下是建议的阵容搭配及攻略: 关注【娱乐天梯】,获取内部福利号 1.核心成员(2名) 在阵容中选择两个输出型角色作为核心成员,他们的…...

网工内推 | 技术支持工程师,厂商公司,HCIA即可,有带薪年假
01 华为终端有限公司 招聘岗位:初级技术支持 职责描述: 1、通过远程方式处理华为用户在产品使用过程中各种售后问题; 2、收集并整理消费者声音,提供服务持续优化建议; 3、对服务中发现的热点、难点问题及其他有可能造…...