QQ个性网:专注于分享免费的QQ个性内容

关于我们| 网站公告| 广告服务| 联系我们| 网站地图

搜索
编程 JavaScript Java C++ Python SQL C Io ML COBOL Racket APL OCaml ABC Sed Bash Visual Basic Modula-2 Logo Delphi IDL Groovy Julia REXX Chapel X10 Forth Eiffel C# Go Rust PHP Swift Kotlin R Dart Perl Ruby TypeScript MATLAB Shell Lua Scala Objective-C F# Haskell Elixir Lisp Prolog Ada Fortran Erlang Scheme Smalltalk ABAP D ActionScript Tcl AWK IDL J PostScript IDL PL/SQL PowerShell

Mysql约束和表选项设定

日期:2025/04/03 16:03来源:未知 人气:56

导读:约束约束,就是“限制”,就是“条件”——是对数据的限制,是对数据设定的需要满足的条件!也可以说,约束,就是对数据设定的规则。有如下几种约束:唯一约束:unique key(字段名...)主键约束:primary key(字段名...)外键约束:foreign key(字段名 ... ) references 其他表(对应字段名 .... )非空约束:就是属性设定时的“not n......

约束

约束,就是“限制”,就是“条件”

——是对数据的限制,是对数据设定的需要满足的条件!

也可以说,约束,就是对数据设定的规则。

有如下几种约束:

唯一约束:

unique key(字段名...)

主键约束:

primary key(字段名...)

外键约束:

foreign key(字段名 ... ) references 其他表(对应字段名 .... )

非空约束:

就是属性设定时的“not null”

默认约束:

就是属性设定时的“default 默认值”设置;

检查约束:

就是使用一个判断表达式来对某字段的值进行“检查”,比如:

check( age >= 0 and age <=60) #保险公司对用户的年龄的要求!!!

不过:

该语法,在mysql中,目前并不生效——但认可该语法,而不报错。

实际上:

所谓约束,就是前面在设定那几个主键索引的时候,也就同时具备了“约束能力”。

即:该代码,既是创建索引,也是创建(设定)约束!

示意性举例:

create table 表名(

id int auto_increment ,

f1 varchar(10) not null, #这就是非空约束

f2 tinyint default 18, #这就是默认约束

f3 datetime,

f4 int,

primary key (id), #主键约束,也是主键索引,自然,id还是“主键”

unique key(f1), #唯一约束,也是唯一索引

foreign key(f4) references 表名2(id2), #外键约束,也是外键索引,

check ( f2 >= 18 and f2 <= 60) #检查约束

);

表选项设定

create table 表名( ...... ) 选项1,选项2,选项3,.....;

是指,对一个表的总体进行的设置,有如下几项:

表引擎:

engine = 引擎名

常用的引擎名只有这几个:InnoDB(这是默认的),MyIsam, BDB, Memory, Archive

引擎,就是将“海量数据”,存储到硬盘的内部机制——有不同的存储方式,会有不同的存储性能和相应的可用的数据功能。

我们只是根据自己应有的需要,选用合适的某个存储引擎。

自增长初值:

auto_increment = 初值

字符集(编码):

charset = 字符编码名

排序规则:

collate = 排序规则名

表说明:

comment = ‘说明文字’

实际上,字符集,都是“下级继承上级”的机制,大体是:

字段没有设定字符集,就用表的字符集;

表没有设定字符集,就用库的字符集;

库没有设定字符集,就用系统的字符集;——系统字符集是在安装的时候设定的

存储引擎有:

关于我们|网站公告|广告服务|联系我们| 网站地图

Copyright © 2002-2023 某某QQ个性网 版权所有 | 备案号:粤ICP备xxxxxxxx号

声明: 本站非腾讯QQ官方网站 所有软件和文章来自互联网 如有异议 请与本站联系 本站为非赢利性网站 不接受任何赞助和广告