当前位置: 首页 > news >正文

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元素,它可以用于显示游戏中的进度、倒计时、资源管理和其他关键信息。在这篇博客中&#xff0…...

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函数来动态实现动态缩放像素 简单来说就是比例缩小时&#xff0c;像素单位变大&#xff0c;从而字体大小相对不变&#xff0c;以下仅处理比例缩小的状况 自定义一个属性–size&#xff0c;初始值为1px template <template><div class"hom…...

Django 静态自定义化配置

STATIC # APP本地静态资源目录&#xff08;就APP对应的&#xff09; STATIC_URL "/static/"# 远程静态文件URL&#xff08;少用&#xff09; REMOTE_STATIC_URL# 外部引用静态文件目录&#xff08;外层的&#xff09; 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&#xff1a;安装 composer require hyperf/websocket-server2&#xff1a;配置 Server 修改 config/autoload/server.php&#xff0c;增加以下配置。 return [servers > [[name > ws,type > Server::SERVER_WEBSOCKET,host > 0.0.0.0,port > 9502,sock_typ…...

前端模块化

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

如何使用Docker轻松构建和管理应用程序(一)

如今Docker的使用已经非常普遍&#xff0c;特别在一线互联网公司。使用Docker技术可以帮助企业快速水平扩展服务&#xff0c;从而到达弹性部署业务的能力。在云服务概念兴起之后&#xff0c;Docker的使用场景和范围进一步发展&#xff0c;如今在微服务架构越来越流行的情况下&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(当前位置的经度&#xff1a; res.longitude);console.log(当前位…...

openmp 通用核心 学习 2 数据环境—任务-内存模型

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

Linux有哪些指令

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

图扑 HT for Web 风格属性手册教程

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

oracle 数据库删除序列

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

JAVA毕业设计098—基于Java+Springboot的在线教育课程视频(源码+数据库)

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

如何在雷电模拟器上安装Magisk并加载movecert模块抓https包(二)

接来下在PC端安装和配置Charles&#xff0c;方法同下面链接&#xff0c;不再赘述。在模拟器上安装magisk实现Charles抓https包&#xff08;二&#xff09;_小小爬虾的博客-CSDN博客 一、记录下本机IP和代理端口 二、在手机模拟器上设置代理192.168.31.71:8888&#xff0c;设置…...

基于web的酒店客房管理系统

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

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官网&#xff0c;发现有两个不同的文档地址&#xff1a; 连接 | Android 开源项目 | Android Open Source Project 蓝牙概览 | Connectivity | Android Developers 蓝牙demo在 …...

Linux相关概念及常见指令

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

CentOS 系统如何在防火墙开启端口

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

2023年电工(初级)证考试题库及电工(初级)试题解析

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

vue拦截器是什么,如何使用

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

CSS 之 table 表格布局

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

【Kotlin精简】第2章 集合

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

VSCODE+PHP8.2配置踩坑记录

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

React 状态管理 - Context API 前世今生(下)

New Context API Provider【context的生产者组件】 createContext 创建一个Context对象&#xff0c;订阅了整个Context对象的组件&#xff0c;会从组件树中离自身最近的那个匹配的Provider中读取到当前的context值。Context.Provider 父Context对象返回的Provider组件&#x…...

地下城堡3魂之诗阵容搭配攻略

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

网工内推 | 技术支持工程师,厂商公司,HCIA即可,有带薪年假

01 华为终端有限公司 招聘岗位&#xff1a;初级技术支持 职责描述&#xff1a; 1、通过远程方式处理华为用户在产品使用过程中各种售后问题&#xff1b; 2、收集并整理消费者声音&#xff0c;提供服务持续优化建议&#xff1b; 3、对服务中发现的热点、难点问题及其他有可能造…...