数据库的约束条件和用户管理

约束条件:

主键:主键约束 primary key

用于标识表中的主键列的值,而且这个值是全表当中唯一的,而且只不能为null

一个表只能有一个主键。

外键:用来建立表与表之间的关系。确保外键中的值于另一个表的主键值匹配,保证数据引用的完整性。

多表联查,不要超过三张。超过三张表,会降低查询效率。

非空约束:保证列中的值不含null值

唯一性约束:确保列中的所有值都是唯一的,类似主键,但是一个表可以有多个唯一约束。

自增约束:在列生成的每一行都会自动生成一个唯一标识符,通常和主键一起使用,每次插入新行时,自增列的值会自动增加

扩展语句:

create table if not exists

表示在创建表时自动检测表是否已经存在,如果不存在就创建

id int (5) zerofill primary key auto_increment

zerofill ,5位,不足5位会自动填充0 .auto_increment 自增长字段,每条记录自动递增1.自增长必须是主键,也不可以重复。如果添加失败下一条记录也会自动增加。

删除外键的时候是删除外键对应的索引。

主键

 外键

主键和外键的总结:

外键就是和主表进行关联的列,不需要设置为从表的主键,但是不能为空,必须和主表的数据类型保持一致。

外键的值和主键的值要相同

先插入主表的数据,再插入从表的数据

删除表的外键不是直接删除外键的列名,而是删除外键的索引,show create table 表名:查看表的详细信息。

删除主键不需要加上主键的列名。如果有extra的额外属性,比如说自增长,要先移除属性,然后才能除主键。 删除主键的方式:alter进行修改


复制表:

create table +旧表名 like 新表名 ;

insert into +表名 select * from +表名

create table +表名(select * from +表名)

临时表:

创建完成之后,在库里面是看不到的,但是依然可以增删改查,但是重新连接数据库之后,临时表就会消失。

清空表:

drop 删除表

面试题:如何删除表的内容,还能保留表的结构?

delete from +表名; 清空表 一行一行的清空表数据,速度比较慢,如果有自增长字段,delete清空之后,会继续按照原来的序号,继续递增。

truncate table +表名; 清空表 保留表的结构,但是清空之后原有的记录全部抹去,自增长也将从头开始,速度表较快。


数据库的用户管理:

创建用户

设置用户权限

select * from user;

root都是相同的,Host:可以登录的主机,1ocalhost指的是本地登录 :任意主机(ip地址)。

权限上:localhost > %的权限。

create user '用户名' @'ip地址'

grant all privileges on * . * to '用户名' @'ip地址' ;

all 给所有权限 远程登录,数据库的操作权限(增删改查)

* . * 左边的是库,右边的是库里面的表

root@localhost其他的用户也不设置成localhost,都是设置主机名。安装完mysql之后就有了,不需要额外设置。其他的都需要人工创建。

information schema: 这个库的作用包含了mysq1服务器中所有其他数据库,表,列。索引权限等详细的元数据的信息,可以用来查询数据库的结构和元信息。

performance_schema:

包含mysql的服务性能和资源利用情况。查询语句的执行时间和锁定等信息。

usage:允许该用户连接到数据库

移除权限的命令: revoke all privileges on * . * from '用户名' @'ip地址';

flush privileges 刷新一下权限

grant select on 库名 .* to '用户名' @'ip地址'; 只能查

drop user '用户名' @'ip地址'; 删除用户

create user '用户名' @'ip地址' identified by '密码 '; 创建用户及密码

查看权限的语句:show grant for 用户名@%;


补充

insert 插入数据时,时间类型

date

datetime

timestamp

设置什么时间就是什么时间。

 设置实时时间。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3246611.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

实验七:图像的复原处理

一、实验目的 熟悉常见的噪声及其概率密度函数。熟悉在实际应用中比较重要的图像复原技术,会对退化图像进行复原处理。二、实验原理 1. 图像复原技术,说简单点,同图像增强那样,是为了以某种预定义的方式来改进图像。在具体操作过程中用流程图表示,其过程就如下面所示: 2…

源代码加密需求中零信任沙箱如何成为企业底牌?

随着计算机和网络技术的普及发展,公司和企业的办公方式和业务流发生了翻天覆地的变化。 全世界有60%的人主要从事与信息的生成、加工和存储以及相关技术的服务性工作。大量数据信息的创建、存储、传输以及共享方式已经发生了革命性的变化,主要表现在以下…

allure_pytest:AttributeError: ‘str‘ object has no attribute ‘iter_parents‘

踩坑记录 问题描述: 接口自动化测试时出现报错,报错文件是allure_pytest库 问题分析: 自动化测试框架是比较成熟的代码,报错也不是自己写的文件,而是第三方库,首先推测是allure_pytest和某些库有版本不兼…

一五六、Node+Vue 使用七牛上传图片,并配置个人域名

1. 七牛云ak/sk获取 点击注册🔗开通七牛开发者帐号如果已有账号,直接登录七牛开发者后台,点击这里🔗查看 Access Key 和 Secret Key 2. Node.js获取七牛token 安装qiniu npm install qiniu创建空间 Node获取token const qi…

数据采集监控平台:挖掘数据价值 高效高速生产!

在当今数字化的时代,数据已成为企业非常宝贵的资产之一。然而,要充分发挥数据的潜力,离不开一个强大的数据采集监控平台,尤其是生产制造行业。它不仅是数据的收集者,更是洞察生产的智慧之眼,高效高速处理产…

第一章 应急响应- Linux入侵排查

简介 账号:root 密码:linuxruqin ssh rootIP 1.web目录存在木马,请找到木马的密码提交 2.服务器疑似存在不死马,请找到不死马的密码提交 3.不死马是通过哪个文件生成的,请提交文件名 4.黑客留下了木马文件&#xff0c…

使用 Flask 3 搭建问答平台(一):项目结构搭建

一、项目基本结构 二、app.py from flask import Flask import config from exts import db from models import UserModel from blueprints.qa import bp as qa_bp from blueprints.auth import bp as auth_bp# 创建一个Flask应用实例,__name__参数帮助Flask确定应…

聊一聊前后端权限控制 RBAC(完整流程)

介绍 RBAC(Role-Based Access Control)模型也就是基于角色的权限控制。 权限会分配到角色中,角色再分配给用户,这样用户就根据角色有了不同的权限。 当然,你可以说把权限直接挂载到用户上,这样不是更直接…

专业软件测评机构揭秘:移动app安全测试要点和注意事项

随着移动应用的普及和用户对信息安全的重视,任何一个缺乏安全性保障的应用程序都可能会被用户所抛弃。只有通过全面的安全测试,才能保证应用程序的安全性,增加用户的粘性和忠诚度,移动app安全测试是指对移动应用程序进行安全性评估…

【D3.js in Action 3 精译_015】1.3 D3 视角下的数据可视化最佳实践(下)

当前内容所在位置 第一部分 D3.js 基础知识 第一章 D3.js 简介 ✔️ 1.1 何为 D3.js?1.2 D3 生态系统——入门须知 1.2.1 HTML 与 DOM1.2.2 SVG - 可缩放矢量图形1.2.3 Canvas 与 WebGL1.2.4 CSS1.2.5 JavaScript1.2.6 Node 与 JavaScript 框架1.2.7 Observable 记事…

百川智能,摘下“大模型皇冠上的明珠”?

随着AI产业化和产业AI化成为业界共识,大模型的“新赛季”来了。 2024年是国产大模型全面商业化的元年,各地人工智能产业发展的政策密集出台。同时,在2024世界人工智能大会(WAIC 2024)上,各大AI厂商纷纷表示…

【Linux】基础I/O——FILE,用户缓冲区

1.FILE里的fd FILE是C语言定义的文件结构体,里面包含了各种文件信息。可以肯定的一点是,FILE结构体内一定封装了 fd 。为什么?来看接下来的思路分析: 1.使用系统接口的必然性   文件存储在磁盘上,属于外设。谁有权限访问…

【AI绘画教程】Stable Diffusion 1.5 vs 2

在本文中,我们将总结稳定扩散 1 与稳定扩散 2 辩论中的所有要点。我们将在第一部分中查看这些差异存在的实际原因,但如果您想直接了解实际差异,您可以跳下否定提示部分。让我们开始吧! Stable Diffusion 2.1 发布与1.5相比,2.1旨在解决2.0的许多相对缺点。本文的内容与理解…

<Rust><GUI>rust语言GUI库tauri体验:前、后端结合创建一个窗口并修改其样式

前言 本文是rust语言下的GUI库:tauri来创建一个窗口的简单演示,主要说明一下,使用tauri这个库如何创建GUI以及如何添加部件、如何编写逻辑、如何修改风格等,所以,这也是一个专栏,将包括tauri库的多个方面。…

filebeat生产环境配置

配置文件属性 生产配置 filebeat.inputs: - type: logenabled: truepaths: - /tmp/logs/*.log- /var/log/system.log- /var/log/wifi.logsymlinks: truejson.keys_under_root: truejson.message_key: xxxjson.add_error_key: true# 如果想卡部分日志,比如用时间作…

开源大语言模型完整列表概览

Large Language Model (LLM) 即大规模语言模型,是一种基于深度学习的自然语言处理模型,它能够学习到自然语言的语法和语义,从而可以生成人类可读的文本。 所谓"语言模型",就是只用来处理语言文字(或者符号体…

R语言优雅的把数据基线表(表一)导出到word

基线表(Baseline Table)是医学研究中常用的一种数据表格,用于在研究开始时呈现参与者的初始特征和状态。这些特征通常包括人口统计学数据、健康状况和疾病史、临床指标、实验室检测、生活方式、社会经济等。 本人在既往文章《scitb包1.6版本发…

不想填邀请码?Xinstall来帮你,一键安装无忧愁

在这个快节奏的时代,每一个点击都承载着用户的期待与耐心。然而,在下载App的过程中,繁琐的邀请码填写往往成为了用户体验的一大障碍。你是否也曾经因为不愿填写邀请码而放弃了一款心仪的App?今天,就让我们一起走进Xins…

【Unity美术】如何通用3Dmaxs做一个宝箱

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 专栏交流🧧&…

VsCode远程ssh连接失败:Could not establish connection to XXX

一、问题描述 在VsCode中按下"F1",选择Remote-SSH:Connect to Host 选择一个已经配置好的SSH主机,比如我选择的是192.168.0.104: 结果提示:Could not establish connection to XXX 二、解决方法 观察VsCode的输出信息…