当前位置: 首页 > news >正文

网站如何做下载链接久久信息网

网站如何做下载链接,久久信息网,百度收录网站关键字,出境旅游哪个网站做的好本节目标: NOT NULL - 指示某列不能存储 NULL 值。 UNIQUE - 保证某列的每行必须有唯一的值。 DEFAULT - 规定没有给列赋值时的默认值。 PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标 识&am…

本节目标:
NOT NULL - 指示某列不能存储 NULL 值。
UNIQUE - 保证某列的每行必须有唯一的值。
DEFAULT - 规定没有给列赋值时的默认值。
PRIMARY KEY - NOT NULL UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标
识,有助于更容易更快速地找到表中的一个特定的记录。
FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。
CHECK - 保证列中的值符合指定的条件。对于 MySQL 数据库,对 CHECK 子句进行分析,但是忽略 CHECK子句。

1. 数据库约束

1.2 NULL约束

创建表时,可以指定某列不为空:
输入:
DROP TABLE IF EXISTS student;
CREATE TABLE student (
  id INT NOT NULL ,
  sn INT ,
  name VARCHAR ( 20 ),
  qq_mail VARCHAR ( 20 )
);

1.3 UNIQUE:唯一约束

指定 sn 列为唯一的、不重复的:
-- 重新设置学生表结构
DROP TABLE IF EXISTS student;
CREATE TABLE student (
  id INT NOT NULL ,
  sn INT UNIQUE,
  name VARCHAR ( 20 ),
  qq_mail VARCHAR ( 20 )
);
"Duplicate" 的中文意思是“重复的”或“复制的”。在数据库术语中,常用来表示唯一性约束
(UNIQUE constraint)被违反,即试图插入或创建一个已经存在的值或记录。

1.4 DEFAULT:默认值约束

指定插入数据时, name 列为空,默认值 unkown
-- 重新设置学生表结构
DROP TABLE IF EXISTS student;
CREATE TABLE student (
  id INT NOT NULL ,
  sn INT UNIQUE,
  name VARCHAR ( 20 ) DEFAULT 'unkown' ,
  qq_mail VARCHAR ( 20 )
);

1.5 PRIMARY KEY:主键约束(要求:非空,唯一)

指定 id 列为主键:
对于整数类型的主键,常配搭自增长 auto_increment 来使用。插入数据对应字段不给值时,使用
最大值+1
-- 重新设置学生表结构
DROP TABLE IF EXISTS student;
CREATE TABLE student (
  id INT NOT NULL PRIMARY KEY,
  sn INT UNIQUE,
  name VARCHAR ( 20 ) DEFAULT 'unkown' ,
  qq_mail VARCHAR ( 20 )
);
不为空
不能重复
不允许一个表中存在多个身份标识

但是数据库允许把多个列共同作为一个主键(联合主键)

主键需要分配一个唯一的值,如何进行分配呢?

mysql 提供了一个 自动分配 主键值 方式,“自增主键”auto_increment

插入数据时,可以不指定id列的值,让数据库自动分配.,就会按照1,2,3,4 ......

也能手动指定其他数值.

在mysql中,给每个表都记录了一个“自增主键的最大值”
后续继续插入数据,无论之前的最大值是否仍然存在
都是根据之前保存的最大值,继续往后分配的.

自增主键只能针对,像int/bigint整数使用

是有可能会使用字符串作为主键的.

部分情况下,都是用数字作为主键.

1.6 FOREIGN KEY:外键约束

外键用于关联其他表的 主键 唯一键
语法:foreign key ( 字段名 ) references 主表 ( )

案例:

-- 创建班级表,有使用 MySQL 关键字作为字段时,需要使用 `` 来标识
DROP TABLE IF EXISTS classes;
CREATE TABLE classes (
id INT PRIMARY KEY auto_increment,
name VARCHAR ( 20 ),
`desc` VARCHAR ( 100 )
);
-- 重新设置学生表结构
创建学生表 student ,一个学生对应一个班级,一个班级对应多个学生。使用 id 为主键, classes_id为外键,关联班级表 id
DROP TABLE IF EXISTS student;
CREATE TABLE student (
  id INT PRIMARY KEY auto_increment,
  sn INT UNIQUE,
  name VARCHAR ( 20 ) DEFAULT 'unkown' ,
  qq_mail VARCHAR ( 20 ),
classes_id int ,
FOREIGN KEY (classes_id) REFERENCES classes(id)
                          本表的列                               被引用的表和列
);

此时,外键约束就出现了

再次往student 中插入数据,就务必要确保
插入的数据的classes_ld的值,得在classes表中存在.

学生表的 classld 列,引用自 班级表的classld 列

班级表中的 数据,约束了/制约了学生表的数据

制约                                          被制约的一方

父表                                                   子表

如果父表中的某个记录,被子表引用了,此时就不能删除/修改父表中的 对应记录了.

父表是约束了子表,
子表也会对父表反向进行约束.

主键本身也是有“唯一性要求的”
频繁触发查询,此处数据库就会对主键约束,给出特殊的处理.
加快查询四度

数据库会针对 主键 列创建索引

如果不指定主键,是一个unique,也能达成类似的效果
 

1.7 CHECK约束(了解)

MySQL 使用时不报错,但忽略该约束:

2. 表的设计

三大范式:

2.1 一对一

设计表的做法:


a)搞一个表,同时包含学生和账号的信息.
student account (studentld, name, accountName, password ..... )

b)搞两个表,使用id来进行联系.
student(studentld, name , accountld)
account(accountld, accountName, password)

student(studentld, name )
account(accountld, accountName, password , studentld)

2.2 一对多

一个账号只能属于一个学生

可以使用同一张表,也可以使用两张表(通过一个id,联系)

b)一对多关系

一个学生只能属于一个班级
一个班级可以包含多个学生

这个方案在MySQL中是不可行的.但是在有的数据库中(Redis是可行的)

学生表(学生id,学生姓名 ... ,班级 id)
1  张三  100
2  李四  101

3  王五  100

班级表(班级id,班级名称)

100      java100
101      java101

班级表(班级id,班级名称,学生id列表)

100         java100               1,3
101         java101                2

相当于“数组”类型

mysql不支持这样的类型

2.3 多对多

引入关联表,通过关联表把多对多关系表示出来

学生-课程表(学生id,课程id)
1       100       张三选择了语文
1       101       张三选择了数学
1       102       张三选择了英语

2       100       李四选择了语文
2       101       王五选择了教学


如果您觉得有失偏颇请您在评论区指正,如果您觉得不错的话留个好评再走吧!!

您的鼓励就是对我最大的支持!  ! !

http://www.yayakq.cn/news/545653/

相关文章:

  • 浙江网站建设鞍山信息港征婚
  • 肥西县建设局官方网站国外大气网站设计
  • 济南中京网站建设公司wordpress产品页面404
  • 安阳网站关键词优化wordpress 主题汉化包
  • 网站可以用cdr做吗犀牛做网站的公司
  • 美工做网站是怎么做住房和城乡建设部建设司网站首页
  • 哪些网站的做的好看几级分销是合法的
  • 企业形象网站模板宣传部网站建设策划书
  • 哈尔滨做设计和网站的公司吗网站建设世纪明珠
  • 鹏鸿生态板官方网站开发区代理短网址还原
  • 沈阳网站建设制作烟台市建设局网站
  • 学院评估 网站建设整改从网络全角度考量_写出建设一个大型电影网站规划方案
  • 网站做优化有什么好处湖北省城乡与住房建设厅网站
  • 网站开发中的网页上传和网站发布wordpress 获取二级栏目
  • 站长网站建设郴州做网站ku0735
  • 南昌企业网站模板建站网络推广策略
  • 商丘市建立网站公司广东网站建设哪家专业
  • 专门做cg视频网站网站建设公司目标客户
  • 手机参数对比的网站郑州网站优化汉狮网络
  • 口碑好的徐州网站建设最新新闻事件摘抄
  • 外贸网站设计师公司网站自己怎么建立
  • 个人在网站怎么做wordpress 页面属性 模板
  • 书籍网站设计主图模板免费
  • 网站简约式布局特点jsp和php哪个做网站快
  • 文字转码unicodeseo还有前景吗
  • 洋县建设银行网站网站备案 域名过期
  • 做网站 分工设计师服务平台下载不了
  • 移动网站开发做一个简单网页seo课程
  • 金融网站如何做设计方案芜湖手机网站制作
  • 专门做预售的网站2015个人网站如何去工信部备案