day61 数据库约束 jdbc

news2024/12/28 20:28:08

回顾

        1 SQL语句的分类

        2创建表的语法

                create table 表名(

                        列名  数据类型 not null,

                         列名  数据类型

                        );

         3 删除表 

               drop table 表名;

数据完整性分类

        1实体完整性 (表中每条记录唯一)

        2域完整性

        3引用完整性

数据完整性约束

        实体完整性约束

                主键约束

                        表中唯一标识每条记录的一列或多列

                        非空,唯一 ,一张表有且仅有一个主键

                        选择逐渐:最少性,稳定性

注意:当表中所有列都不适合当主键时,可以给表中添加一个自增列为主键

          设置自增列的数据类型必须为int类型,添加关键词:auto_increment

                设置方式

                        在创建表时设置

                                stu_id int  primary key,

                        图形化界面创建时,选择主键

                        在已创建的表中修改表添加主键

                                alter  table   表名

                                add  constraint  pk_stu_id primary key(字段名);   

                                或者

                                alter  table   表名

                                add primary   key(stu_id); 

                唯一约束

                        唯一,可空,一张表可以有多个唯一约束的列

                        设置方式:

                                创建表时设置关键词

                                        phone char(11) unique,

                                图形化创建表时 设置唯一

                                已存在的表列添加唯一约束

                                alter table 表名

                                add unique index uk_phone(列名);

                                或者

                                alter table 表名

                                add constraint uk_phone unique(列名);

域完整性约束

     数据类型 非空约束    默认值约束  检查约束

      非空约束,默认值约束

                1在创建表时设置

                        stu_name varchar(50) not null,

                        stu_sex char(1) defaule('男') not null

                2在图形化界面时设置

                3给已存在的表添加默认值约束

                alter table 表名

                modify column stu_sex char(1) default('男');

        检查约束  check约束

          已存在表添加检查约束

                                alter table 表名

                                add constraint ck_stu_sex check(stu_sex = '男' or stu_sex = '女');

                                或者 

                               alter table 表名

                                add constraint ck_stu_sex check(stu_sex in ('男', '女'));

                                

                               alter table 表名

                                add constraint ck_stu_sex check(stu_age between  18  and  89  );

                                或者

                               alter table 表名

                                add constraint ck_stu_sex check(stu_age >= 16 and stu_age <= 30  );

                                

                                %任意长度字符   ,_任意单个字符

                                alter table student

                                add  constraint  ck_email  check(email   like '%_@_%');

        引用完整性约束

                外键引用:表中列引用另一张表中主键列或唯一值

                        表与表之间有引用关系 主表被引用的表  子表引用表

                        外键列:一张表中可以有多个外键,外键列值可以重复

                        设置方式

                                通过图形化在创建子表时设置

                                通过E-R图设置

                                通过代码设置

                                alter table 子表名

                                add constraint fk_stuid foreign key(外键列名) references 主表名(主键列名)

                添加含外键列数据时,先在主键表中找到对应列,没有需要创建主键列

                删除时,需要先删除主键表中数据,再删除外键列表数据

               数据表设计 三范式

                        原子性

                       每张表仅描述同一类实体信息 保证与主键字段直接相关,

                        非主键列与主键列是直接依赖,不能产生传递依赖

E-R图

有几个工程 , 每个工程都有几个人参与,每个人可以参与几个工程,工时由工程和职务共同决定

 增删改查

        添加语句

        insert into 表名 (列名列表)

        values(值列表)

        值列表的个数 数据与列名列表一致

        insert每次添加一条记录

        除数值类型,其他类型都要使用‘ ’ 

        给可为null的列赋值

             1)   不写此列,默认值为null        

             2)   写列,关键词用null

        给有默认值的列赋值

                1)不写此列,默认值为null

                2)写列,赋值为default

        有自增列,不写此列

        列名列表省略不写时,值的顺序必须与表定义的顺序一致

jdbc连接数据库

在官网上下载jdbc的jar包

Maven Repository: Search/Browse/Explore (mvnrepository.com)

  1. jdbc:mysql:// - 这是JDBC连接字符串的标准前缀,表示你要连接的是一个MySQL数据库。
  2. localhost:3306 - 这是数据库服务器的地址和端口号。local 通常是 localhost 的简写,表示本地机器。3306 是MySQL数据库服务的默认端口号。
  3. /goodsdb - 这是你要连接的数据库的名称,这里是 goodsdb
  4. ?useSSL=false - 这是一个连接参数,表示不使用SSL加密连接。在开发或测试环境中,为了简化配置,有时可能会禁用SSL。但在生产环境中,为了安全起见,建议启用SSL。
  5. &characterEncoding=utf-8 - 这是另一个连接参数,用于指定字符编码为 utf-8。这样,当从数据库读取或写入数据时,可以确保使用正确的字符编码。
  6. &serverTimezone=Asia/shanghai - 这个参数用于设置服务器的时区。这有助于解决由于时区差异而可能导致的日期和时间问题。这里设置为 Asia/shanghai,即上海时区。

  

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

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

相关文章

使用 mysqldump 迁移 MySQL 表 OceanBase

使用 mysqldump 迁移 MySQL 表 OceanBase 一、什么是mysqldump二、使用mysqldump导出MySQL数据三、将数据导入到OceanBase四、注意 一、什么是mysqldump mysqldump 是 MySQL 数据库管理系统中的一个工具&#xff0c;用于将数据库中的数据导出为文本文件。它可以将整个数据库、…

spring boot 访问 static public 目录下的静态资源报404解决办法

1.前提是你没有修改spring boot 默认拦截路径&#xff0c;跟默认访问资源的目录。 在idea 设置中 把 compiler 下的 Buid project automatically 勾选上

多场成像,快速提高机器视觉检测能力--51camera

多阵列CMOS传感器与芯片级涂层二向色滤光片相结合&#xff0c;可在单次扫描中同时捕获明场、暗场和背光图像。 多场成像是一种新的成像技术&#xff0c;它可以在不同的光照条件下同时捕获多幅图像。再加上时间延迟积分(TDI)&#xff0c;这种新兴的成像技术可以克服许多限制的传…

关于VScode中使用yapf,更改settings.json文件中的column_limit没有作用的解决方法。

目录 一、yapf一行中最大字符限制修改 二、忽略flake8对一行中最大字符限制警告 写在前面&#xff0c;不知道啥情况&#xff0c;按照常见的方式更改settings.json文件不起作用&#xff0c;如这些大佬的文章VSCode配置yapf python格式化 配置一行的长度 、vscode中使用yapf自动格…

思科网络中如何配置扩展ACL协议

一、什么是扩展ACL协议&#xff1f;有什么作用及配置方法&#xff1f; &#xff08;1&#xff09;扩展ACL&#xff08;Extended Access Control List&#xff09;协议是一种网络安全协议&#xff0c;用于在路由器或防火墙上实现对数据包的细粒度访问控制。与标准ACL相比&#…

【Python】牛客网—软件开发-Python专项练习

专栏文章索引&#xff1a;Python 1.&#xff08;单选&#xff09;下面哪个是Python中不可变的数据结构&#xff1f; A.set B.list C.tuple D.dict 可变数据类型&#xff1a;列表list[ ]、字典dict{ }、集合set{ }(能查询&#xff0c;也可更改)数据发生改…

对象注入的几种方式

⭐ 作者&#xff1a;小胡_不糊涂 &#x1f331; 作者主页&#xff1a;小胡_不糊涂的个人主页 &#x1f4c0; 收录专栏&#xff1a;JavaEE &#x1f496; 持续更文&#xff0c;关注博主少走弯路&#xff0c;谢谢大家支持 &#x1f496; 注入对象 1. 属性注入2. 构造方法注入3. S…

RabbitMQ详解与常见问题解决方案

文章目录 什么是 RabbitMQ&#xff1f;RabbitMQ 和 AMQP 是什么关系&#xff1f;RabbitMQ 的核心组件有哪些&#xff1f;RabbitMQ 中有哪几种交换机类型&#xff1f;Direct Exchange(直连交换机)Topic Exchange(主题交换机)Headers Exchange(头部交换机)Fanout Exchange(广播交…

(黑马出品_07)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式

&#xff08;黑马出品_07&#xff09;SpringCloudRabbitMQDockerRedis搜索分布式 微服务技术分布式搜索 今日目标1.数据聚合1.1.聚合的种类1.2.DSL实现聚合1.2.1.Bucket聚合语法1.2.2.聚合结果排序1.2.3.限定聚合范围1.2.4.Metric聚合语法1.2.5.小…

01_04_JavaWEB03_XML、Tomcat、http

XML_Tomcat10_HTTP 参考尚硅谷再总结复习 一 XML XML是EXtensible Markup Language的缩写&#xff0c;翻译过来就是可扩展标记语言。所以很明显&#xff0c;XML和HTML一样都是标记语言&#xff0c;也就是说它们的基本语法都是标签。 可扩展 三个字表面上的意思是XML允许自定义…

云服务器2核4G配置,阿里云和腾讯云哪个便宜?性能更好?

租用2核4G服务器费用多少&#xff1f;2核4G云服务器多少钱一年&#xff1f;1个月费用多少&#xff1f;阿里云2核4G服务器30元3个月、轻量应用服务器2核4G4M带宽165元一年、企业用户2核4G5M带宽199元一年&#xff1b;腾讯云轻量2核4G服务器5M带宽165元一年、252元15个月、540元三…

RNN实战

本主要是利用RNN做多分类任务&#xff0c;在熟悉RNN训练的过程中&#xff0c;我们可以理解 1&#xff09;超参数 batch_size和pad_size对训练过程的影响。 2&#xff09;文本处理过程中是如何将文本的文字表示转化为向量表示 3&#xff09;RNN梯度消失和序列长度的关系 4&#…

企商在线CTO楼炜:论云计算与产业互联网

024年全国两会召开之际&#xff0c;3月4日&#xff0c;全国政协委员、京东集团技术委员会主席曹鹏提交了《发挥产业互联网平台作用 打造实体产业数字化转型直效通道》提案&#xff0c;提出了产业互联网平台在整合供应链、资金、技术、资讯、培训、人才等各类资源的重要作用。云…

python实现生成树

生成树 生成树&#xff08;Spanning Tree&#xff09;是一个连通图的生成树是图的极小连通子图&#xff0c;它包含图中的所有顶点&#xff0c;并且只含尽可能少的边。这意味着对于生成树来说&#xff0c;若砍去它的一条边&#xff0c;则会使生成树变成非连通图&#xff1b;若给…

ChatGpt只能看,但无法发送消息的解决办法

这几天发现chatgpt没法发送消息了,我以为是网络问题,又过了几天还是不能发,我以为是梯子的问题,可给我急坏了,于是我用无痕模式发现可以访问额. 但是无痕模式毕竟不是长久之计,于是找到了一个方法 1.首先把电脑缓存全清除了 第一种方法: 快捷键是 : ctrlshiftdel (这会吧浏览…

电脑切屏卡顿,尤其是打游戏时切屏卡顿问题解决方法

博主在打游戏时喜欢切后台但是最近发现切屏尤其慢&#xff0c;异常卡顿&#xff0c;但是是新换的电脑&#xff0c;所以苦恼了半天&#xff0c;上网搜也没有结果&#xff0c;说的都是些配置低&#xff0c;系统文件损坏等问题&#xff0c;所以再检查分辨率时发现问题所在 屏幕分辨…

Visual Studio 2022 配置“Debug|x64”的 Designtime 生成失败。IntelliSense 可能不可用。

今天写代码&#xff0c;无缘无故就给我整个这个错误出来&#xff0c;我一头雾水。 经过我几个小时的奋战&#xff0c;终于解决问题 原因就是这个Q_INTERFACES(&#xff09;宏&#xff0c;我本想使用Q_DECLARE_INTERFACE Q_INTERFACES这两个Qt宏实现不继承QObject也能使用qobjec…

jmeter压测实战

1,设置HTTP请求默认值 2,设置全局变量 3,新建线程组 4,设置私钥 5,每个接口新建一个事务控制器 6,新建Java请求 对于有sign签名的需要将jar包放在apache-jmeter-5.4.1\apache-jmeter-5.4.1\lib\ext目录下,然后引入进来。 除此之外,还需要下载bouncycastle.jar包放在…

地表径流量分布数据/水文站点分布数据

天然河川径流资料对于认识水文自然规律、国家水资源可持续利用以及适应气候变化政策制定具有重要意义。我国现有的天然河川径流资料存在时间缺失率高、水文站点密度不足等问题&#xff0c;在年际和季节变化尺度上存在较大的流量偏差。 引言 大气降水落到地面后&#xff0c;一部…

【数据分析】数据分析介绍

专栏文章索引&#xff1a;【数据分析】专栏文章索引 目录 一、介绍 二、生活中的数据分析 1.无处不在的数据 2.为什么要进行数据分析&#xff1f; 三、数据挖掘案例 1.案例分析 一、介绍 数据采集&#xff1a;数据采集是指从不同来源收集原始数据的过程&#xff0c;包括…