首页 > 数据库 >SQL的约束条件

SQL的约束条件

时间:2023-07-14 20:00:44浏览次数:32  
标签:约束条件 SQL 数据类型 字段 表名 unique 主键

约束条件就是在数据类型的基础上再添加限制条件

1. unsigned :去除符号

eg: create table 表名(字段名 数据类型 unsigned)

2.zerofill:零填充

 例如数据类型中字符串的char()为定长,当存入的不足括号中位数时,如果约束条件有zerofill,就用零来填充而不是空格

3. not null:非空

# 在mysql中,‘’与null不一样

4.unique: 唯一

#单列唯一
eg:create table 表名(字段名 数据类型 unique);

#联合唯一
eg:create table 表名(字段一 数据类型,
		     字段二 数据类型,
		    unique(字段一,字段二) );

5.default: 默认值

 如果在插入数据时不存入含默认值字段数据时,存入默认值

6.主键

#单纯从约束条件上来看,主键就相当于not null+unique,是非空且唯一的
InnoDB存储引擎要求每一张表必须要有一个主键,但是你会发现,之前创建的很多张表,也都创建成功了,为什呢,原因是:InnoDB存储引擎内部隐藏的有一个主键字段,但是这个隐藏的字段我们看不到,这个主键的目的主要就是用来帮助我们把表常见成功,仅此而已.

# 我们一般会给id字段添加主键,sid、aid、uid等都可以

7.auto_increment:自增

 默认是让主键每次自动增加一
 
 # 创建表的时候,主键的固定写法:id int primary key auto_increment

清空表的两种方式

1. delete from 表名 # 不会将主键id的值重置
2. truncate 表名 # 会将主键id的值重置为1
# truncate情况表之后, 如果想恢复数据,还可以补救;如何恢复数据:binlog日志,记录了你在数据库中执行SQL语句的变化过程,通过binlog日志可以恢复数据

标签:约束条件,SQL,数据类型,字段,表名,unique,主键
From: https://www.cnblogs.com/yexinli/p/17554780.html

相关文章

  • 学科知识图谱学习平台项目 :技术栈Java、Neo4j、MySQL等超详细教学
    学科知识图谱学习平台项目:技术栈Java、Neo4j、MySQL等超详细教学0.效果展示1.安装教程安装JavaSDK11,下载前需要登录Oracle账号,下载链接,安装教程,测试是否能在命令行工具调用javajava--versionjava17.0.12021-10-19LTSJava(TM)SERuntimeEnvironment(build......
  • windows下用mysqldump导出数据库中文乱码的解决方案
    解决方案是从这篇文章得到的启发:http://www.pcxitongcheng.com/server/anz/2022-12-06/33622.html先去mysql里确认字符编码是utf8:showvariableslike'%char%'主要确认character_set_results。先创建好sql文件,比如d:\backup.sql然后备份的时候用--result-file=指定刚创建的文......
  • MySQL报错: Unknown prepared statement handler (stmt2) given to DEALLOCATE PREPAR
    上面的报错,是在MySQL里执行动态拼接SQL后报错的。--先定义两段SQLset@update_sql_fm=concat('updateads_gcl3e_patient_',@base_group_short_name,'_detail1t1jointemp_gcl3e_record_listtmpont1.report_info_id=tmp.report_info_idleftjoin(',@select_sql_fm,�......
  • SQL常用语法
    SQL常用语法--创建表CREATETABLEemployees(employee_idNUMBER(6),first_nameVARCHAR2(20),last_nameVARCHAR2(25),emailVARCHAR2(25),phone_numberVARCHAR2(20),hire_dateDATE,job_idVARCHAR2(10),salaryNUMBER(8,2),commission......
  • SQL29 计算用户的平均次日留存率
    SQL29计算用户的平均次日留存率描述题目:现在运营想要查看用户在某天刷题后第二天还会再来刷题的平均概率。请你取出相应数据。示例:question_practice_detailiddevice_idquest_idresultdate......
  • Mysqll判空的一个坑
    Mysql使用<>''判空时数值类型字段会过滤掉值为0的数据SELECT*FROMstudentSELECT*FROMstudentWHEREuserid<>''文本类型字段可以过滤掉为null和空串的数据并且不会把为0的数据过滤SELECT*FROMstudentWHERESname<>''......
  • docker 检查SQL Server实例的TCP/IP协议是否已启用
    检查SQLServer实例的TCP/IP协议是否已启用作为一名经验丰富的开发者,我将帮助你学习如何检查SQLServer实例的TCP/IP协议是否已启用。以下是整个流程以及每一步需要做的事情。流程步骤描述1连接到SQLServer实例2查询是否已启用TCP/IP协议3根据查询结果判断TC......
  • PostgreSQL技术大讲堂 - 第22讲:CLOG作用与管理
     PostgreSQL从小白到专家,是从入门逐渐能力提升的一个系列教程,内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容,希望对热爱PG、学习PG的同学们有帮助,欢迎持续关注CUUGPG技术大讲堂。第22讲:CLOG作用与管理内容1:PostgreSQLCLOG概述内容2:CLOG......
  • mysql binlog
    mysql二进制日志(binnarylog)binlog记录了对MySQL数据库执行更改的所有操作binlog是记录所有数据库表结构变更(例如CREATE、ALTERTABLE…)以及表数据修改(INSERT、UPDATE、DELETE…)的二进制日志。不会记录SELECT和SHOW这类操作,因为这类操作对数据本身并没有修改,但可以通过查询通......
  • Oracle、MySQL、HQL的语法差异
    Oracle、MySQL、HQL查询语句的差异SQL是结构化查询语言,执行Select(选择)、Update(更新)、Delete(删除)和Insert(插入)等数据任务。关系数据库是指基于关系模型的数据库。在关系模型中,用于存储数据的逻辑结构就是二维表(Table)。表由行和列组成,行也称为记录,代表了单个实体;列也称为字段,代表......