首页 > 数据库 >SQL的学习

SQL的学习

时间:2023-09-26 20:32:07浏览次数:64  
标签:primary 约束 学习 字段 key SQL unique 主键

数据的操作

数据的存储,表格中添加数据

inset into 表民 (字段) values(值)

数据表的数据约束

非空约束  not null

解释:当字段添加非空约束的时候,当前字段就不允许插入null值 ,如果插入null值,就会报错

默认 default

解释:如何没有给此字段添加数据,默认自动添加默认值

检查   check

解释:检测你传入的值是否在给定范围内

mysql不支持  使用enum 和set实现

唯一unique

解释:一旦地段被定义成唯一约束表示当前字段的值不能重复,可以为null

语法

字段添加:字段名  类型(长度)unique

独立添加:【constraint】 约束名 unique (字段名)

因为标注的数据列是唯一的,所以方便与查询,数据库系统自动对该字段建立索引 Btree【二叉树】

如果没有给唯一约束起名字,默认是约束创建的索引名字是字段名,可以自己给索引起名字

查看对应表的索引语法

show  index  from 表名

主键约束   primary  key

相当于unique+not null 但是高于

主键约束的字段唯一且不为空【null在数据库中表示无穷的意思,无法比较】

主键才是代替unique来进行准确地数据查询

主键约束分类

单主键的方式,一个表中只有一列拿出来作为主键,方便唯一查询

联合主键的方式,一个表中有多个字段一起来表示一条数据唯一 不为空  是unique做不到

列如

               uname【primary key】  upassw【primary key】

                     张三                                     123

                     张三                                     1234

                     李四                                      123

创建方式

字段:字段名  类型(长度)    primary  key

独立:constraint 约束名 primary key (字段1,字段2....)

备注:每一个表只能创建一个主键  只能用一次primary key

联合主键唯一方式

主键字段1-主键字段2-主键字段3...的值是唯一的

联合主键比较耗费资源--尽量不用,除非必须使用

外键约束   froeign key

解释:主要用来多个表之间建立联系

外键一般关联另一个表的主键

外键与被关联的主键定义一致,依赖于被关联的主键存在

定义语法

【constraint 外键名字】 foreign key(字段名) references 关联的表(主键字段)

注意:一旦俩个表发生了主外键关联,那么外键字段的值必须是关联的主键字段中有得才行

自增约束

auto_increment

解释:当前字段被定义了自增约束,当前字段的数据就会自动增长,一般用表格数据的主键编号

语法

字段名  类型(长度) auto_increment

标签:primary,约束,学习,字段,key,SQL,unique,主键
From: https://blog.51cto.com/u_16220922/7614137

相关文章

  • 2023-2024-1 20211319蓝宇 《信息安全专业导论》第一周学习总结
    作业信息|这个作业属于哪个课程|2020-2021-1信息安全专业导论(https://edu.cnblogs.com/campus/besti/2020-2021-1fois))||这个作业要求在哪里|[2020-2021-1信息安全专业导论第一周作业](https://edu.cnblogs.com/campus/besti/2020-2021-1fois/homework/11249))||这个作业的......
  • Hive数据仓库的学习——DDL之内部表、外部表、分区表、分桶表
    1、内部表和外部表没有指定建表的类型的话,默认为内部表(InternalTable或者是ManagedTable)可以通过这行代码查看表的类型:describeformatted表名;内部表和外部表的区别以及适合使用的范围:2、分区表--避免全表扫描,提高查询效率需要注意的是,在创建分区表时,分区字段不能再作......
  • MySQL 高级(进阶) SQL 语句
    MySQL高级(进阶)SQL语句usegy;createtablelocation(Regionchar(20),Store_Namechar(20));insertintolocationvalues('East','Boston');insertintolocationvalues('East','NewYork');insertintolocationvalues(......
  • 《信息安全系统设计与实现》第四周学习笔记
    第七章文件操作级别硬件级别fdiskmkfsfsck碎片整理操作系统内核中的文件系统函数系统调用I/O库函数用户命令sh脚本文件I/O操作低级别文件操作分区Command(mforhelp):m---输出帮助信息Commandactionatoggleabootableflag---设置启动分区b......
  • Binomial Sum 学习笔记
    这是EI写的一个神秘科技。我只能把它最简单的东西讲述出来。用于\(O(k+\logn)\)复杂度解决一类求和问题。使用条件:\(f(x)\)微分有限,话句话说,存在\(f\)的微分方程。如果我容易知道\(\displaystyle\sum_{i=0}^{n}a_i[x^i]G(x)^k,k\in[0,]\),那么我就可以\(O(n)\)求\(\displaystyl......
  • openGauss学习笔记-80 openGauss 数据库管理-内存优化表MOT管理-内存表特性-MOT性能基
    openGauss学习笔记-80openGauss数据库管理-内存优化表MOT管理-内存表特性-MOT性能基准本节介绍了openGauss内存优化表(Memory-OptimizedTable,MOT)的MOT性能基准。80MOT性能基准我们的性能测试是基于业界和学术界通用的TPC-C基准。测试使用了BenchmarkSQL(请参见MOT样例TPC-C基......
  • openGauss学习笔记-81 openGauss 数据库管理-内存优化表MOT管理-内存表特性-MOT使用概
    openGauss学习笔记-81openGauss数据库管理-内存优化表MOT管理-内存表特性-MOT使用概述MOT作为openGauss的一部分自动部署。有关如何计算和规划所需的内存和存储资源以维持工作负载的说明,请参阅MOT准备。参考MOT部署了解MOT中所有的配置,以及服务器优化的非必须选项。使用MOT的方......
  • mybatis学习
    开发环境:sts数据库:sqlyog 数据库:  配置文件 配置文件: 映射文件:  映射文件接口: 实体类: 自定义的工具类,来实现sqlsession:测试类:   就完成了!......
  • 详解达梦disql工具
    连接达梦数据库必须要用到两个工具,一个是disql,另一个是图形界面的DM管理工具。disql是达梦数据库的命令行交互工具,类似于Oracle的sqlplus,虽然DM管理工具可以在大部分场景代替siaql的功能,但是有些命令必须在disql下去执行,例如desccitydisqlV8SQL>desccity disql在......
  • 关于信创国产化的一些学习记录
    国产化涉及硬件和软件,我主要关心软件部分,因为公司基本不参与硬件的采购和开发,开发的项目以B/S架构为主。所以我主要说说B/S架构的国产化,涉及操作系统、数据库、web中间件,至于开发语言并未要求国产化(估计也不可能,主流语言C、C++、java哪一个是中国的)。一、操作系统一般目前主流就是......