【07】表的创建和管理

SQL Server数据库管理(二)SQL Server数据库管理:从基础到实践的全面指南 SQL Server为组织提供了可靠、高效的数据管理解决方案。通过深入理解其结构功能,并遵循最佳实践,数据库管理开发人员可以充分发挥SQL Server的潜力。随着技术的不断发展,持续学习适应新特性(如JSON支持、内存优化、云解决方案等)变得越来越重要。 阅读详情

1. 常用的数据字段

数据类型关键字描述
字符串VARCHAR2(n)其中 n 表示的是字符串所能保存的最大长度,基本上保存 200 个左右的内容
整数NUMBER(n)表示最多为 n 位的整数,有时候也可以使用 INT 替代
小数NUMBER(n,m)其中 m 为小数位,n-m 位整数位,有时候也可以用FLOAT 代替
日期DATE存放日期-时间
大文本CLOB可以存储海量文字(4G),例如存储《三国演义》、《西游记》
大对象BLOB存放二进制数据,例如:电影,MP3,图片,文字

2. 表的创建

在这里插入图片描述

	-- 创建表
	create table Grade
	(
		grade_Id integer not null,
		grade_Name VARCHAR2(50) not null,
		primary key(grade_Id) -- 主键
	);

3. 添加注释

  • 表的注释

    COMMENT ON TABLE 表名 IS ‘表的注释’;

  • 列的注释

    COMMENT ON COLUMN 表名.列名 IS ‘列的注释’;

	-- Add comments to the table
	COMMENT ON TABLE Grade IS '年级表';
	-- Add comments to the columns
	COMMENT ON COLUMN Grade.grade_id IS '年级编号';
	COMMENT ON COLUMN Grade.grade_name IS '年级名称';			

4. 主键和外键

4.1 主表和子表

  • 主表:关联关系中,起主导作用的表(Grade),主表中必须有主键;
  • 子表:关联关系中的附属表,子表中的外键引用主表中的主键;

4.2 主键

  • 作用:唯一的标识表中的每一行数据
  • 主键不能为空,不能重复
  • 一张表中可以没有主键
  • 作为主键的列可以是一列、也可以是多列(复合主键)
  • PRIMARY KEY(Grade_Id)

4.3 外键

  • 作用:在外键表中添加对主键表的引用

  • 外键可以为空

  • FOREIGN KEY

     FOREIGN KEY (Grade_Id) REFERENCES Grade(Grade_Id)
    
  • 外键级联操作

  1. Cascade :级联
    a. 父表delete、update的时候,子表会delete、update掉关联记录;
    b. 年级表删除“一年级”,那么所有“一年级”的学生信息都被删除。
  2. Set Null:置空
    a. 父表delete、update的时候,子表会将关联记录的外键字段所在列设为null,所以注意在设计子表时外键不能设为not null;
    b. 年级表删除“一年级”,那么所有“一年级”的学生Grade_Id列的值为null。
    c. 外键必须允许为空。
  3. Restrict:限定、约束(默认值)
    a. 如果想要删除父表的记录时,而在子表中有关联该父表的记录,则不允许删除父表中的记录;
    b. 年级表删除“一年级”,那么先检查“一年级”的有没有学生,如果有学生信息,报错,不做删除。如果没有学生信息,删除“一年级”。
  4. No Action:不作处理
    a. 同 RESTRICT,也是首先先检查外键;
  • 示例

     在子表上添加外键约束(两张表都已经存在,额外添加主外键关系)
     ALTER TABLE student
     	ADD CONSTRAINT `FK_Student_Grade` 
     		FOREIGN KEY (`Grade_Id`) REFERENCES grade(Grade_Id) 
     			ON UPDATE SET NULL
     			ON DELETE SET NULL; 
    
数据库管理 insert into student_info(学号,姓名,性别,出生日期,家族住址) values(‘0002’,‘刘东阳’,‘男’,‘1998-12-09’,‘东阳市八一北路33号’);insert into student_info(学号,姓名,性别,出生日期,家族住址) values(‘0008’,‘张玲珑’,‘女’,‘1997-12-24’,‘滨江市新建路97号’);insert into curriculum values(‘0002’,‘C语音程序设计’,2); 阅读详情

相关推荐

Doris 创建复合分区动态分区

Doris 支持两层的数据划分。createdate是字段。 第一层是 Partition,PARTITION BY RANGE(`createdate`)。 第二层是 Bucket(Tablet),DISTRIBUTED BY HASH(`createdate`) BUCKETS 10。 在 Doris 的存储引擎中,用户数据被水平划分为若干个数据分片(Tablet,也称作数据分桶)。每个 Tablet 包含若干数据行。各个 Tablet 之间的数据没有交集,并且在物理上是独立存储的。 多个 Tablet

zhengzaifeidelushang的博客 5090

创建主表子表并建立约束2

 创建主表子表并建立约束 http://weibo.com/p/23047910610177 http://weibo.com/p/23047910610175 http://weibo.com/p/23047910610190 http://weibo.com/p/23047910610187 http://weibo.com/p/23047910610195 http://

jay92520的博客 565

创建主表子表并建立约束

#创建年级(包含ID姓名) CREATE TABLE IF NOT EXISTS grade( gradeId INT(4) NOT NULL PRIMARY KEY AUTO_INCREMENT, gradeName VARCHAR(50) NOT NULL ) #创建学生(包含学号、姓名、年龄、年级、电话、性别、家庭地址) CREATE TABLE IF NOT EXISTS st

jay92520的博客 1142

数据库中父子表(主键外键的理解)

好久没有碰数据库分析设计了。今天突然要做一个数据库分析,很是费解,所谓好记性不如烂笔头,个人觉得还是要记一下的。用一个例子来说: 你想要设计的一个产品可能是这样的:产品:产品ID, 产品名称, 产品类型 产品ID 产品名称 产品类型 1 敌敌畏 农药 2 加多宝 饮料 3 可乐

trebleZ的博客 3万+

Access数据库主表子表 的建立

Access数据库中的“主表-子表”,这其实是数据的关系的问题。

wangym1989的专栏 2万+

删库跑路?不可回滚?MySQL创建管理,修改清空,MySQL8新特性DDL原子化,完整详细可收藏

文章目录1、基础知识2、创建管理数据库3、创建4、修改5、重命名6、 删除7、清空8、MySQL8新特性—DDL的原子化 1、基础知识 1.1 一条数据存储的过程 存储数据是处理数据的第一步 。只有正确地把数据存储起来,我们才能进行有效的处理分析。否则,只能是一团乱麻,无从下手。那么,怎样才能把用户各种经营相关的、纷繁复杂的数据,有序、高效地存储起来呢? 在 MySQL 中,一个完整的数据存储过程总共有 4 步,分别是创建数据库、确认字段、创建数据、插入数据。 我们要先创建一个数据库,而

叶绿体不忘呼吸 1469

mysql第十一次作业

创建chapter07数据库 插入数据 查询中数据 创建singn 插入数据 查询中数据 创建stu_mark 添加中数据 查询中数据 创建视图beida 查看视图 创建视图qinghua 查看视图 更新qinghua视图Huang Yun成绩减去10分 更新后查看 减去10后查看清华视图 ...

yiyezhiqiuyyds的博客 1044

MySQL数据库创建管理

1. 了解MySQL数据库的逻辑结构物理结构的特点。 2. 学会使用SQL语句创建、选择、删除数据库。 3. 学会使用SQL语句创建、修改、删除。 4. 学会使用SQL语句对进行插入、修改删除数据操作。 5. 了解MySQL的常用数据类型。

2301_77161465的博客 1849

07、SQL--创建管理(含习题)

一、数据库的一些操作: 1、Oracle数据库中的: (1)、查看用户创建了哪些。 select * from user_tables;//查询用户自己创建的所有属性 select table_name from user_tables;//只查看用户创建的名字 (2)、查看数据库的一些操作。 二、关于创建数据...

qq_39044046的博客 2067

【openGauss简单使用】---创建用户授权、创建数据库创建SCHEMA、创建

创建数据库用户授权、创建数据库、SCHEMA。【openGauss简单使用】------快速入门

✨ 欢迎来到【Seal ^_^ 的CSDN博客】!✨ 2万+

Oracle创建查询

本文系统介绍了Oracle数据库创建与查询操作。在创建部分,详细讲解了CREATETABLE语法、命名规范、常用数据类型(NUMBER、VARCHAR2等)约束条件(主键、外键等),并通过Navicat工具演示了建过程。在查询部分,解析了SELECT语句的基本结构及WHERE、ORDERBY等子句的应用,特别提供了LEFTJOIN等复杂查询的实例。文章最后总结了数据库设计的最佳实践,包括命名规范、数据类型选择、索引优化等注意事项,帮助开发者提升Oracle数据库操作效率数据管理能力。

2401_85995479的博客 1637

MySQL创建数据库

本篇文章主要讲解MySQL中创建数据库的相关指令注意事项

没有网络安全就没有国家安全 4379

数据库实验1---创建数据库

创建数据库实验内容实验要求实验步骤及处理结果思考体会参考资料 实验内容 使用SQL语句创建数据库studentsdb。 使用SQL语句选择studentsdb为当前使用数据库。 使用SQL语句在studentsdb数据库创建数据student_info、curriculum、grade,三个的数据结构如1-3所示。 1 student_info结构 列名 数据类型 允许NULL值 主键 学号 char(4) 否 是 姓名 char(8) 否 否 性别 char(2) 是 否 出生日期 da

zjj8008120308的博客 2万+

PostgreSQL 中创建管理

本文详细介绍了在 PostgreSQL 中创建管理的基本操作,包括创建、修改结构、插入查询数据等。这些操作是数据库管理的基础,掌握它们对于开发维护数据库应用至关重要。PostgreSQL 还提供了许多高级功能,如索引、约束、视图存储过程,用户可以根据需要进一步探索使用。希望通过本文的介绍,能够帮助您更好地理解使用 PostgreSQL 数据库。如果您有任何问题或需要进一步的帮助,请随时参考 PostgreSQL 的官方文档或相关学习资源。

My_wife_QBL的博客 3714

07 外键关联关系

07 外键关联关系

m0_46695127的博客 1121

mysql创建管理_MySQL学习笔记六:创建管理

一、创建需要信息:名,字段名,字段的定义create table table_name 列定义 选项;create table table_name like old_table_name; --like:包括旧的结构+信息+索引create table table_name select * from old_table_name; --包括旧的结构+信息create table s...

weixin_39600366的博客 147

数据库原理及应用】12.1数据库创建管理

(3)使用MySQL语句在salary_management_system数据库创建数据tbl_departments、tbl_rank_salary、tbl_employees、tbl_salary。六、使用MySQL语句在salary_management_system数据库创建数据tbl_departments、tbl_rank_salary、tbl_employees、tbl_salary。(三)将tbl_employees数据的数据复制到employeeb。

Erey_的博客 1284

虚拟机mysql创建一个_MySQL:创建、修改删除

其实对很多人来说对于SQL语句已经忘了很多,或者说是不懂很多,因为有数据库图形操作软件,方便了大家,但是我们不能忘记最根本的东西,特别是一些细节上的东西,可能你用惯了Hibernate,不用写SQL语句,但是不是任何项目都要用到大框架的,如果不用,那你是不是就不会操作数据库了呢,所以我们最好还是熟悉一点好,对我们以后找工作工作都有帮助。在说创建、修改删除前,我们还是要进行一个操作的简单说明:...

weixin_42465158的博客 3109
上一篇: 【06】结构化查询语言
下一篇: 【04】Oracle11g x64 安装
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值