6:列属性完整性-MySQL

2023-05-16

目录

  • 6.1 列属性问题
  • 6.2 Primary key主键作用以及企业用途
  • 6.3 删除主键、组合键、选择主键
    • 1. 删除主键
    • 2. 组合键
    • 3. 选择主键
  • 6.4 复合主键究竟有什么用?
  • 6.5 unique唯一键的作用以及使用
  • 6.6 唯一键扩展
  • 6.7 主键和唯一键区别
  • 6.8 sql内注释代码注释
    • 1. 普通注释
    • 2. sql内注释
  • 6.9 数据库完整性
  • 6.10 引用数据表的完整性问题,抛出外键的概念
  • 6.11 外键
  • 6.12 什么时候设计外键呢?
  • 6.13 更正上节课错误,删除外键
  • 6.14 外键三种操作:严格、置空、级联的使用场景以及介绍
    • 1. 严格性操作
    • 2. 置空操作
    • 3. 级联操作
  • 6.15 置空和级联演示

6.1 列属性问题

列属性要根据业务的要求来对数据的一些控制,例如是否能为空,是否是唯一的,等各种操作,就是我们每次desc表的时候的表头上的内容就是与类属性有关的东西:Type Null Key Dafult

6.2 Primary key主键作用以及企业用途

主键作用:用来区分数据,用来联系各表

特点就是:不能为空且在表中的数据是唯一的

不能为空保证了数据的完整性,在表中唯一使得在数据查询中变得更加方便,加快了表的查询速度

主键的设计非常重要,那么如何定义主键呢?

注意:在非自增字段的主键,Default必须赋值,不能为NULL

mysql> create table t_8(
    -> id int(20) primary key,
    -> name varchar(30)
    -> );
Query OK, 0 rows affected (0.02 sec)

mysql> desc t_8;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(20)     | NO   | PRI | NULL    |       |
| name  | varchar(30) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

将某数据修改成主键的方法

alter table 表名  add primary key (字段名)
mysql> alter table pet_user add primary key (id);
Query OK, 0 rows affected (0.04 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc pet_user;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id    | int(10) | NO   | PRI | NULL    |       |
| age   | int(9)  | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.00 sec)

6.3 删除主键、组合键、选择主键

1. 删除主键

alter table 表名 drop primary key
mysql> alter table t_8 drop primary key;
Query OK, 0 rows affected (0.04 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc t_8;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(20)     | NO   |     | NULL    |       |
| name  | varchar(30) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

2. 组合键

可以添加组合键(复合主键),但扩展性确实不行

一张表里可以有多个组合键,但是可能在非特殊的情况下实际的意义不大

添加复合主键要先把原主键删除

alter table 表名 add primary key (字段,字段...;
mysql>  alter table t_8 add primary key (id,name);
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc t_8;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(20)     | NO   | PRI | NULL    |       |
| name  | varchar(30) | NO   | PRI | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

mysql>

3. 选择主键

主键的选择很重要,选择有把握且绝对不会更改的数据,最好是数字

万一所给你的数据没有这种类型的数据的时候,我们需要自己创建‘id

6.4 复合主键究竟有什么用?

组和键运用范围?

例如用B站和微博,我们的id是唯一的,昵称也是唯一的,

这个时候可以参考组合键的方式,但现在使用的是唯一键,

注意:组合键并不是一个表中有多个主键,而是这些字段组合成复合主键,所以主键在表中只能有一个

6.5 unique唯一键的作用以及使用

唯一键限定范围是在一张表中,它不会用作来关联其他的数据

它也可以为空,在这张表中一定是唯一的,用来保证在这个表中这个数据不重复

和添加主键一样,有两种方法:

在创建表的时候数据写上unique
mysql> create table t_9(
    -> id int primary key,
    -> phone varchar(20) unique
    -> );
Query OK, 0 rows affected (0.02 sec)

mysql> desc t_9;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | NO   | PRI | NULL    |       |
| phone | varchar(20) | YES  | UNI | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

alter table 表名 add unique (字段,字段...;
mysql> create table t_10(
    -> id int(4),
    -> phone varchar(20)
    -> );
Query OK, 0 rows affected (0.02 sec)

mysql> desc t_10;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(4)      | YES  |     | NULL    |       |
| phone | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

mysql> alter table t_10 add unique(phone);
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc t_10;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(4)      | YES  |     | NULL    |       |
| phone | varchar(20) | YES  | UNI | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

6.6 唯一键扩展

删除唯一键

alter table 表名 drop index 字段名 字段名不能使用括号
mysql> create table t_11(
    -> id int,
    -> name varchar(20) unique,
    -> phone varchar(20) unique
    -> );
Query OK, 0 rows affected (0.06 sec)

mysql> desc t_11;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | YES  |     | NULL    |       |
| name  | varchar(20) | YES  | UNI | NULL    |       |
| phone | varchar(20) | YES  | UNI | NULL    |       |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

mysql> alter table t_11 drop index phone;
Query OK, 0 rows affected (0.02 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc t_11;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | YES  |     | NULL    |       |
| name  | varchar(20) | YES  | UNI | NULL    |       |
| phone | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

6.7 主键和唯一键区别

主键 primary key唯一键 unique
可以用来连接各个表不使用来链接各个表
不可以为空可以为空
如果没有设置唯一键则自增字段必须是主键自增字段不为主键的时候要将这个字段设置成唯一键
一张表只能有一个或者一个组合可以有多个且不需要组合

6.8 sql内注释代码注释

1. 普通注释

命令单行注释与多行注释

mysql> create table t_12 (
    -> id int(20)  primary key,# this is primary key!
    -> phone varchar(20) -- this is phone
    -> /*
   /*> abcdefg
   /*> hijklmn
   /*> */
    -> );
Query OK, 0 rows affected (0.03 sec)

2. sql内注释

就是comment注释

mysql> create table staff(
    -> id int auto_increment primary key comment'主键id',
    -> name varchar(30) not null,
    -> age int comment'年龄',
    -> salary int default '0' comment'薪水'
    ->  )engine=innodb;
    
mysql> show create table staff;
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                                                                                                                                                                        |
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| staff | CREATE TABLE `staff` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `name` varchar(30) NOT NULL,
  `age` int(11) DEFAULT NULL COMMENT '年龄',
  `salary` int(11) DEFAULT '0' COMMENT '薪水',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk |
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

6.9 数据库完整性

  • 考虑数据库的完整性
  • 一个表一定要有一个主键来约束
  • 保证数据类型一定要是对的
  • 哪些字段可以为空哪些不行
  • Defalut的使用
  • 可能需要对外部的引用

6.10 引用数据表的完整性问题,抛出外键的概念

外部引用问题,如何关联两个表,将公共的字段链接在一起呢?

我们创建表时一定要明确主表和从表

6.11 外键

创建外键

foreign key (数据) references 连接的表名(数据));
mysql> create table eatery(
    -> id int primary key,
    -> money decimal(10,4),
    -> stuId int(4),
    -> foreign key (stuId) references stu(stuId));
Query OK, 0 rows affected (0.03 sec)

mysql> desc eatery;
+-------+---------------+------+-----+---------+-------+
| Field | Type          | Null | Key | Default | Extra |
+-------+---------------+------+-----+---------+-------+
| id    | int(11)       | NO   | PRI | NULL    |       |
| money | decimal(10,4) | YES  |     | NULL    |       |
| stuId | int(4)        | YES  | MUL | NULL    |       |
+-------+---------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

alter table 表名 add foreign key (数据) references 连接的表名(数据);
mysql> create table eatery_2(
    -> id int primary key,
    -> money decimal(10,4),
    -> stuId int (4)
    -> );
Query OK, 0 rows affected (0.03 sec)

mysql> desc eatery_2;
+-------+---------------+------+-----+---------+-------+
| Field | Type          | Null | Key | Default | Extra |
+-------+---------------+------+-----+---------+-------+
| id    | int(11)       | NO   | PRI | NULL    |       |
| money | decimal(10,4) | YES  |     | NULL    |       |
| stuId | int(4)        | YES  |     | NULL    |       |
+-------+---------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

mysql> alter table eatery_2 add foreign key (stuId) references stu(stuId);
Query OK, 0 rows affected (0.04 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc eatery_2;
+-------+---------------+------+-----+---------+-------+
| Field | Type          | Null | Key | Default | Extra |
+-------+---------------+------+-----+---------+-------+
| id    | int(11)       | NO   | PRI | NULL    |       |
| money | decimal(10,4) | YES  |     | NULL    |       |
| stuId | int(4)        | YES  | MUL | NULL    |       |
+-------+---------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

6.12 什么时候设计外键呢?

在设计表初时就要考虑到外键,一旦创建很少修改,后期维护可能会修改

6.13 更正上节课错误,删除外键

先要找到这个外键的名字再删除,查看外键名

show create table 表名

找到外键名在CONSTRAINT

CONSTRAINT `xxxxxx` FOREIGN KEY (`xxxx`) REFERENCES `xxx (`xx`)

删除外键

alter table 表名 drop foreign key 外键名
mysql> show create table eatery;
+--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table  | Create Table


                                                                       |
+--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| eatery | CREATE TABLE `eatery` (
  `id` int(11) NOT NULL,
  `money` decimal(10,4) DEFAULT NULL,
  `stuId` int(4) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `stuId` (`stuId`),
  CONSTRAINT `eatery_ibfk_1` FOREIGN KEY (`stuId`) REFERENCES `stu` (`stuId`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk |
+--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)


mysql> alter table eatery drop foreign key eatery_ibfk_1;
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> show create table eatery;
+--------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table  | Create Table

                                                                 |
+--------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| eatery | CREATE TABLE `eatery` (
  `id` int(11) NOT NULL,
  `money` decimal(10,4) DEFAULT NULL,
  `stuId` int(4) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `stuId` (`stuId`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk |
+--------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

6.14 外键三种操作:严格、置空、级联的使用场景以及介绍

1. 严格性操作

也就是增删改查表的规范

2. 置空操作

链接外键的表中,原表删除的数据会成为NULL

3. 级联操作

链接外键的表中,原表删除的数据会全部删除

注意:留给外键进行删除数据的时候使用置空,更新使用级联

6.15 置空和级联演示

创建eatery表,stuId为外键,设置级联和置空操作

foreign key(数据) references 表名(数据) on delete set null on update cascade
mysql> create table stu(
    -> stuId int (4) primary key,
    -> name varchar(20)
    -> );
Query OK, 0 rows affected (0.02 sec)

mysql> create table eatery(
    -> id int(20) primary key,
    -> money decimal(10,4),
    -> stuId int(4),
    -> foreign key(stuId) references stu(stuId) on delete set null on update cascade
    -> );
Query OK, 0 rows affected (0.02 sec)

mysql> show create table eatery;
+--------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table  | Create Table



                                   |
+--------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| eatery | CREATE TABLE `eatery` (
  `id` int(20) NOT NULL,
  `money` decimal(10,4) DEFAULT NULL,
  `stuId` int(4) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `stuId` (`stuId`),
  CONSTRAINT `eatery_ibfk_1` FOREIGN KEY (`stuId`) REFERENCES `stu` (`stuId`) ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=gbk |
+--------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

插入数据

mysql> insert into stu values(1,'frank');
Query OK, 1 row affected (0.01 sec)

mysql> insert into stu values(2,'jerry');
Query OK, 1 row affected (0.00 sec)

mysql> select * from stu;
+-------+-------+
| stuId | name  |
+-------+-------+
|     1 | frank |
|     2 | jerry |
+-------+-------+
2 rows in set (0.00 sec)

mysql> insert into eatery values(1, 20.5, 2);
Query OK, 1 row affected (0.00 sec)

mysql> select * from eatery;
+----+---------+-------+
| id | money   | stuId |
+----+---------+-------+
|  1 | 20.5000 |     2 |
+----+---------+-------+
1 row in set (0.00 sec)

mysql> insert into eatery values(2, 78.6, 1);
Query OK, 1 row affected (0.01 sec)

mysql> insert into eatery values(3, 99.9, 2);
Query OK, 1 row affected (0.01 sec)

mysql> insert into eatery values(4, 748.4, 1);
Query OK, 1 row affected (0.00 sec)

mysql> insert into eatery values(5, 748.4, 2);
Query OK, 1 row affected (0.01 sec)

mysql> select * from eatery;
+----+----------+-------+
| id | money    | stuId |
+----+----------+-------+
|  1 |  20.5000 |     2 |
|  2 |  78.6000 |     1 |
|  3 |  99.9000 |     2 |
|  4 | 748.4000 |     1 |
|  5 | 748.4000 |     2 |
+----+----------+-------+
5 rows in set (0.00 sec)

更新stu表中stuId时,eatery表外键的数据会相应更改,这里是级联操作

mysql> update stu set stuId='4' where name = 'frank';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from eatery;
+----+----------+-------+
| id | money    | stuId |
+----+----------+-------+
|  1 |  20.5000 |     2 |
|  2 |  78.6000 |     4 |
|  3 |  99.9000 |     2 |
|  4 | 748.4000 |     4 |
|  5 | 748.4000 |     2 |
+----+----------+-------+
5 rows in set (0.00 sec)

删除stu表中stuId时,eatery表外键的数据会变为NULL,这里是置空操作

mysql> delete from stu where stuId='2';
Query OK, 1 row affected (0.01 sec)

mysql> select * from eatery;
+----+----------+-------+
| id | money    | stuId |
+----+----------+-------+
|  1 |  20.5000 |  NULL |
|  2 |  78.6000 |     4 |
|  3 |  99.9000 |  NULL |
|  4 | 748.4000 |     4 |
|  5 | 748.4000 |  NULL |
+----+----------+-------+
5 rows in set (0.00 sec)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

6:列属性完整性-MySQL 的相关文章

  • redis分布式锁的原子保证

    分布式锁的原子保证 背景提出 分布式锁的原子性还能得到保证吗 分布式锁的加锁与解锁命令是什么 所以核心问题到底是什么 客户端的一条命令是如何执行的呢 两个机制是在这个过程的什么阶段发货作用呢 会不会影响命令执行的原子性 IO 多路复用机制多
  • 机器学习 python

    1 用DecisionTreeRegressor 对波士顿房价进行预测 xff1a 1 导入数据 sklearn datasets load boston 2 数据拆分25 作为测试集 sklearn model selection tra
  • MTPuTTY配置ssh连接Gitlab

    目录 一 简介二 生成SSH 密钥三 GitLab添加公钥四 同步本地与原项目 一 简介 远程仓库是指托管在网络上的项目仓库 xff0c 现在互联网上有很多项目托管平台 GitLab是一个利用 Ruby on Rails开发的开源应用程序
  • 优化淘宝商品比价定向爬虫--爬虫的浏览器伪装

    目录 一 原代码问题二 淘宝Robots协议三 User Agent四 查找headers和cookie五 完整代码 一 原代码问题 爬取不到任何内容处理原因 xff1a 由于淘宝的设置 xff0c 虽然可以requests爬取页面内容 x
  • Python数据分析与展示

    目录 一 xff1a Python数据分析基础Anaconda IDE的基本使用方法1 Anaconda是一个集成各类Python工具的集成平台2 包管理和环境管理工具 xff1a conda3 编程工具 Spyder4 交互式编程环境 x
  • Matplotlib.pyplot绘图示例

    目录 一 基础图表函数概述二 饼图的绘制三 直方图的绘制四 极坐标的绘制五 散点图的绘制 一 基础图表函数概述 函数说明plt plot x y fmt 绘制一个坐标图plt boxplot data notch position 绘制一个
  • Visual Studio Code 安装教程附插件推荐

    目录 1 VSCode下载及安装1 1 下载1 2 安装1 3 界面介绍 2 编辑器常用功能2 1 基础编辑 Basic editing2 2 导航 Navigation2 3 搜索和替换 Search and replace2 4 多光标
  • B/S方向

    目录 1 软件架构B SC S 2 开发B S架构软件需要哪些人才 xff1f 3 前端准备4 前端HTMLCSSJavaScriptJS 框架css 框架Web开发 5 后端VMware 虚拟机Linux基础后端语言 xff1a Java
  • VS2019 添加bits/stdc++.h万能头文件库

    目录 一 bits stdc 43 43 h介绍二 为VS添加万能库1 正常情况无法引用stdc 43 43 h2 在安装目录下找到bits文件3 添加stdc 43 43 h源码方式 未安装mingw64情况方式 安装了mignw64情况
  • IDEA SpringBoot SQL连接常见五大异常处理

    项目 xff1a Springboot 43 mybatis 43 MySQL 一 no data sources are configured to run this sql and provide advanced code assis
  • yolo-v3和SSD的一些对比

    初步总结的SSD和yolo v3之间的一些区别 其中的一些概念还有待充分解释 SSDYOLOv3LossSoftmax lossLogistic lossFeature extractorVGG19Darknet 53Bounding Bo
  • git push error: failed to push some refs to异常处理

    目录 一 异常错误二 原因三 解决方法 一 异常错误 使用Github时 xff0c git push命令出现 error failed to push some refs to 39 git 64 github com xxxxx 39
  • 步入Linux的现代方法

    目录 0 xff1a Linux的初步认识 0 0 系统的认识 0 1 Linux操作系统认识 xff0c 以及开源的提出 xff1a Linux的千奇百怪的版本 0 2 开源的含义 0 3 Linux的用途 xff0c 各类发行版本 详见
  • 4:Bash shell命令-步入Linux的现代方法

    目录 4 1 CLI准备4 2 CLI Terminal4 3 搞定Linux命令参数 xff0c 得心应手使用各类命令 授之于渔 先拿ls开张4 4 Linux根目录 xff0c 它们和Windows有什么区别4 5 Linux根目录解析
  • 5:Shell+更上一层系统上的shell-步入Linux的现代方法

    目录 5 1 任务管理器5 2 ps和top命令5 3 kill命令5 4 挂载的含义5 5 mount5 5 挂载的意义 尝试使用U盘 xff1f 自动播放黑客恶意 xff1f 5 6 安卓设备连接挂载5 7 df和du5 8 sort命
  • 6:父子shell-步入Linux的现代方法

    目录 6 1 父子shell的概念6 2 分号在命令里有什么作用6 3 sleep和jobs6 4 后台6 5 coproc协程6 6 外部命令和内建命令6 7 alias别名6 8 章节结束语与经验 6 1 父子shell的概念 bash
  • 7:环境变量-步入Linux的现代方法

    目录 7 1 什么是环境变量 xff1f 到底高清楚 xff0c 彻底高清楚什么究竟是环境变量 xff01 xff01 xff01 xff01 xff01 7 2 全局环境变量和局部环境变量7 3 用户和局部变量的定义7 4 定义全局变量7
  • 8:PMS和软件安装的介绍-步入Linux的现代方法

    目录 8 1 PMS系统和软件安装的介绍8 2 安装 更新 卸载8 3 其他发行版本 xff1f 8 4 安装第三方软件案例 xff1a 例如github开源软件的指导 8 1 PMS系统和软件安装的介绍 PMS Package Manag
  • 9:用户和权限-步入Linux的现代方法

    目录 9 1 用户权限的含义和作用9 2 创建 删除 更改用户9 3 group9 4 文件 文件夹权限9 5 作业 xff1a 自学chmod命令9 6 章节结束语 9 1 用户权限的含义和作用 用户与权限不可能让所有人有所有的权限 不安
  • 11:Server-步入Linux的现代方法

    目录 11 1 Linux Server服务器说明11 2 后话11 3 SSH远程登录11 4 WSL提及 11 1 Linux Server服务器说明 详见 xff1a Ubuntu Server 20 04LTS下载及安装教程 11

随机推荐

  • 10:编辑器之神——Vim-步入Linux的现代方法

    目录 附上 xff1a vi vim键盘图10 1 编辑器简单介绍 xff1a vim编辑器之神 xff1b emac神之编辑器10 2 vim的简单使用方式10 3 移动光标10 4 翻页10 5 不同方式编辑文本 跳跃单词操作技巧10
  • 使用phantomjs将网页转换成pdf或者长图片

    最近有一个将微信公众号的文章转为pdf的想法 xff0c 主要是为了将很多文章保存下来 xff0c 方便打印阅读 最终使用的方法是phantomjs来生成网页的pdf PhantomJS 是一个基于WebKit的服务器端 JavaScrip
  • PUTTY-0.75 下载安装及SSH远程连接方法

    目录 一 下载教程1 进入putty官网2 点击Download it here3 选择安装模式 二 安装教程1 打开安装包2 产品功能设置 三 SSH远程连接方法1 Linux Server 下载SSH2 获取Server地址3 SSH远
  • MTPuTTY连接Ubuntu\Linux SSH登陆出现Access Denied错误

    目录 一 异常错误二 原因三 解决方法1 进入root用户2 进入 etc ssh 目录3 添加PermitRootLogin yes4 重启SSH5 SSH重新连接Ubuntu 一 异常错误 用MTPuTTY远程连接Ubuntu时 xff
  • Ubuntu cannot open directory ‘.‘: Permission denied错误

    目录 一 异常错误二 原因三 解决方法1 前面加上sudo2 或者进入root用户 一 异常错误 Ubuntu正常输入命令出现异常ls cannot open directory 39 39 Permission denied 二 原因 权
  • Ubuntu “readonly” option is set(add to override)错误

    目录 一 异常错误二 原因三 解决方法 一 异常错误 使用vim退出时经常出现 readonly option is set add to override 的错误 二 原因 当前用户没有权限对文件作修改 xff0c 可以强制退出 q 取得
  • Ubuntu E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing? 错误

    目录 一 异常错误二 原因二 解决方法1 网络问题2 source的问题 一 异常错误 apt install 时遇到这个问题 xff0c 无法获取某些存档 二 原因 网络连接超时 二 解决方法 1 网络问题 网关错误拦截了数据包或者防火墙
  • VS2019 error C4996: ‘scanf‘: This function or variable may be unsafe 错误

    目录 一 异常错误二 原因三 解决方法1 替换scanf函数2 添加宏定义3 关闭安全开发生命周期 SDL 检查 一 异常错误 span class token operator span error span class token co
  • VS2019 error C4703: 使用了可能未初始化的本地指针变量 错误

    目录 一 异常错误二 原因三 解决方法1 关闭安全开发生命周期 SDL 检查2 或者将指针变量初始化为nullptr 一 异常错误 error C4703 span class token operator span 对一个潜在的未初始化的
  • VS2019 高级保存设置UTF-8编码-源代码乱码问题

    目录 一 异常错误二 原因三 解决方法 一 异常错误 发现通过VS2019编译的 c文件 xff0c 在Linux中用shell运行时 xff0c 会出现中文乱码的情况 二 原因 本以为是终端编码格式问题 xff0c 后来发现是最初编译器编
  • Linux 终端编译后运行.c/.cpp文件中文乱码问题

    目录 一 异常错误二 原因三 解决方法1 首先确保源代码编码格式是UTF 82 确保Linux运行语言支持中文 一 异常错误 发现通过VS2019编译的 c文件 xff0c 在Linux中用shell运行时 xff0c 终端会出现中文乱码的
  • 「MySQL」从零到删库

    目录 零 数据库的产生 什么是数据库 database抛出问题 xff0c 数据库的产生数据库萌芽阶段的发展历程CRUD层次模型网状模型关系型数据库企业和我们都选什么数据库呢 xff1f 详见 xff1a 零 数据库的产生 一 安装 连接以
  • 用python合并pdf,并添加书签

    之前得到了很多文章的pdf xff0c 现在需要把它们合到一个pdf文件中 使用python库pypdf2可以实现这个功能 首先要安装 pip install pypdf2 然后运行下面的示例 python mergePDF py merg
  • 0:数据库的产生-MySQL

    目录 0 1 什么是数据库 database0 2 抛出问题 xff0c 数据库的产生0 3 数据库萌芽阶段的发展历程0 4 CRUD0 5 层次模型0 6 网状模型0 7 关系型数据库0 8 企业和我们都选什么数据库呢 xff1f 0 1
  • 1:安装、连接以及配置-MySQL

    目录 1 1 windows两种安装方式 xff0c 入门选手推荐第二种 win10演示 1 2 更改终端 xff0c 放弃cmd作为主要终端 xff0c 使用一流终端1 3 MYSQL服务的启动与停止1 4 连接mysql1 5 初始化d
  • 2:数据库的基本操作-MySQL

    目录 2 1 数据库的显示讲解2 2 创建数据库1 创建数据库2 创建带有关键字的数据库 xff08 不推荐 xff09 3 判断并创建一个不知道是否存在的数据库 2 3 删除数据库1 删除数据库2 如果存在则删除数据库 2 4 查看创建的
  • 3:表的基本操作-MySQL

    目录 3 1 提出问题 xff0c 引入 表 的概念与思维模式 table3 2 引用数据库和查看数据库中的表1 引用数据库2 查看数据库中的表 3 3 创建表3 4 创建表 xff08 企业用 xff0c 有B格 xff09 3 5 查看
  • 4:数据操作-MySQL

    目录 4 1 插入数据1 插入数据2 数据的自动添加 xff1a NULL3 default的使用4 省略自增 4 2 一次性插入多条数据4 3 删除数据1 删除2 条件删除 4 4 清空表1 删表跑路2 删节跑路 4 5 小细节 xff0
  • 5:数据类型-MySQL

    目录 5 1 数据库的数据类型问题5 2 int数值类型5 3 int类型实际操作和注意事项5 4 浮点数类型5 5 定点数类型5 6 字符串与文本类型5 7 布尔类型5 8 枚举类型5 9 枚举类型的另类存储方式5 10 枚举类型的好处
  • 6:列属性完整性-MySQL

    目录 6 1 列属性问题6 2 Primary key主键作用以及企业用途6 3 删除主键 组合键 选择主键1 删除主键2 组合键3 选择主键 6 4 复合主键究竟有什么用 xff1f 6 5 unique唯一键的作用以及使用6 6 唯一键