数据库之表的相关操作
1.表的操作:
1、创建表的语法:
create table 表名(
id int(10) primary key auto_increment,
字段1 类型[(宽度) 约束条件],
字段1 类型[(宽度) 约束条件],
字段1 类型[(宽度) 约束条件],);
2、给表添加数据的操作:
insert into 表名(字段名) valuse(数据)
3.约束相关:
1.约束是除了数据类型以外额外添加的约束是为了保证数据的合法性,完整性
2.约束分类
not null 非空约束 数据不能为空
create table student (id ind,name char(10) not null);
default 默认值约束 可以指定字段的默认值
create table user (id ind,sex char(1) default "woman");
unique 唯一性约束 该字段的值不能重复
1.unique其实是一种索引,用于提高查询效率
可以为空一张表中可以有多个唯一约束
2.单列唯一约束
create table t5(idcard char(18) unique);
多列联合唯一约束
create table t6(idcard char(18),phonenumber char(11),unique(idcard,phonenumber));
primary key ****** 称之为主键约束
1.用于唯一标识表中一条记录
2.primary key:单单从约束角度去看,primary key就等同于not null unique
1、一张表中必须有,并且只能有一个主键
2、一张表中都应该有一个id字段,而且应该把id字段做成主键
3、同一个表中不可以有多个主键,没有任何意义
3.语法:create table stu (stuid int primary key);
4.有主键 和没有主键的区别
1.无法区分两个相同记录 比如班级里有两个人名字相同
2.有主键则意味有这索引 效率更高
3.可以建立关联关系
5.多列联合主键:
create table t8(idcard char(18),phonenumber char(11),primary key(idcard,phonenumber));
auto_increment ****** 自动增长,只能用于整型,默认起始位置是1,步长也为1
1、通常与primary key连用,而且通常是给id字段加
2、auto_incremnt只能给被定义成key(unique key,primary key)的字段加
3、如果主键是自动增长,你可以跳过这个字段,也可以为它插入null,都可以
4、修改自动增长的起始位置 **
alter table t9 auto_increment = 7;
foreign key ****** 外键:专门用于为表和表之间,建立物理关联(分表的结合),
1、约束1:在创建表时,先建被关联的表dep,才能建关联表emp
先创建关联表
create table dep(id int primary key auto_increment,manager char(10));
再创建被关联表,(foreign key)外键加到从表上
create table emp(id int primary key auto_increment,dept_id int,foreign key(dept_id) references dept(id));
2、约束2:在插入记录时,必须先插被关联的表dep,才能插关联表emp
3、约束3:更新与删除都需要考虑到关联与被关联的关系
主表dep应该先插入 ,从表emp后插入
在删除主表dep前,要保证从表emp都删除了
在更新部门编号前,要先保证没有员工关联到这个部门
4、级联操作 指的是就是同步更新和删除
语法:在创建外键时 在后面添加 on update cascade同步更新 on delete cascade同步删除
create table class(id int primary key auto_increment);
create table student(id int primary key auto_increment,
c_id int,
foreign key(c_id) references class(id) on update cascade on delete cascade);
5、多对多关系的处理:
建立一个第三方表 ,专门存储两个表之间的关系
这个关系表 应该有两个字段 分别关联学生的id 和老师的id
为了保证 数据的合法性 完整性 给这两个字段都添加外键约束
create table t_s (t_id int,
s_id int auto_incremnt primary key, #为了避免重复无用的关系数据 关系表加上关联的主键约束
foreign key(t_id) references teacher(id),
foreign key(s_id) references student(id),
primary key(t_id,s_id)
);
相关文章
- 数据加载与保存-通用方式 使用df.write.save方法保存数据,同样可通过format指定数据类型。 save方法后需传入保存路径(针对csv、orc、parquet、textFile格式)。 option方法用于设置特定格式的参数。 保存操作可使用SaveMode来指明如何处理数据,如覆盖(overwrite)、追加(append)等,通过mode方法设置。 特定格式保存 与加载类似,Parquet、JSON、CSV等格式均可通过指定format进行保存。 MySQL等关系型数据库的写入也通过JDBC实现,需指定format为jdbc,并传入数据库连接信息及表名。 注意事项
- 数据库之查询表student——查询所有年龄在20岁以下的学生姓名及其年龄
- Django基础篇之数据库选择及相关操作
- MySQL之数据库表的设计
- 【数据库系统概论】数据定义之基本表的定义/创建、修改和删除
- 如果使用mybatis的逆向工程生成的po类及mapper,如果我们想要进行的对数据库的操作在mapper中没有对应的接口函数:比如生成的mapper接口中没有按照姓名及性别混合条件查询。我们的解决办法是:使用逆向工程生成的对应表的Example文件。
- Properties文件及与之相关的System.getProperties操作(转)
- Mysql——数据库和数据表的基本操作
- 数字化转型企业架构设计手册(交付版),企业数字化转型建设思路、本质、数字化架构、数字化规划蓝图(PPT原件获取)-软件全套资料部分文档清单: 工作安排任务书,可行性分析报告,立项申请审批表,产品需求规格说明书,需求调研计划,用户需求调查单,用户需求说明书,概要设计说明书,技术解决方案,数据库设计说明书,详细设计说明书,单元测试报告,总体测试计划,单元测试计划,产品集成计划,集成测试报告,集成测试计划,系统测试报告,产品交接验收单,验收报告,验收测试报告,压力测试报告,项目总结报告,立项结项审批表,成本估算表,项目计划,项目周报月报,风险管理计划,质量保证措施,项目甘特图,项目管理工具,操作手册,接口设计文档,软件实施方案,运维方案,安全检测报告,投标响应文件,开工申请表,开工报告,概要设计检查表,详细设计检查表,需求规格说明书检查表,需求确认表,系统代码编写规范,软件项目质量保证措施,软件部署方案,试运行方案,培训计划方案,软件系统功能检查表,工程试运行问题报告,软件合同,资质评审材料,信息安全相关文档等。 建设方案部分资料清单:
- 对mysql数据库表的相关操作