热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

mysql连接的种类_数据库约束和连接的种类

--创建数据库createdatabase学生练习on(namesrcShareDB,filenameE:\stuExcise.mdf,size10,maxsizeunlimite

--创建数据库create database 学生练习on(name = srcShareDB,filename = 'E:\stuExcise.mdf',size = 10,maxsize = unlimited,filegrowth = 10%)--日志文件log on(name = srcShareLG,filename = 'E:\stuExcise.ldf',size = 3,maxsize = unlimited,filegrowth

--创建数据库

create database 学生练习

on

(

name = srcShareDB,

filename = 'E:\stuExcise.mdf',

size = 10,

maxsize = unlimited,

filegrowth = 10%

)

--日志文件

log on

(

name = srcShareLG,

filename = 'E:\stuExcise.ldf',

size = 3,

maxsize = unlimited,

filegrowth = 10%

)

--学生表

create table 学生

(

stuNO varchar(10) primary key,

stuAge int check (stuAge>0 and stuAge<150),

stuSex char(2) check (stuSex in(&#39;男&#39;,&#39;女&#39;)),

stuMajorNO varchar(10) not null

)

--课程表

create table 课程

(

lsnNO varchar(10) primary key,

lsnName varchar(10) not null,

lsnMark int check (lsnMark>&#61;0 and lsnMark<&#61;100),--注意约束要用括号括起来

lsnHour int check (lsnHour>0 and lsnHour<&#61;200)

)

--选课表

create table 选课

(

stuNO varchar(10) foreign key (stuNO) references 学生(stuNO),--注意外键约束的语法格式

lsnNO varchar(10) foreign key (lsnNO) references 课程(lsnNO),

stuMark int check (stuMark>&#61;0 and stuMark<&#61;100)

)

--添加数据

insert into 学生

values(2,20,&#39;男&#39;,&#39;软件&#39;)

--更新数据

update 学生

set stuAge&#61;stuAge-5

where stuAge&#61;19

--删除数据

delete from 学生

where stuNO&#61;&#39;2&#39;

--查找数据

select stuMark from 学生,选课 where 学生.stuNO&#61;选课.stuNO and 学生.stuNO&#61;&#39;1&#39;

约束规则&#xff1a;

1、实体完整性规则

主要是针对主键(列级和表级)的&#xff0c;主键约束用于唯一性表示表的记录&#xff0c;并且主键约束要求

该列不为空&#xff0c;切记是不为NULL而不是不为""&#xff0c;并且要求该列不能有相同项&#xff0c;否则不能执行sql

语句

2、参照完整性约束&#xff0c;即为外键约束&#xff0c;主要是表示表中列和表中列的关系

语法是&#xff1a;foreign key(列名) references 表名(列名),

其中(列名)需加括号&#xff0c;表名(列名)中列名需为所引用表的主键

3、用户自定义完整性约束

包括列值非空(not null)&#xff0c;列值唯一(unique)&#xff0c;检查列值是否满足一个布尔表达式

(check)

需要注意的是check约束需要括号&#xff0c;即check(布尔值)

连接的种类&#xff1a;

内联接&#xff1a;分为等值连接和自然连接&#xff0c;通过比较运算符来连接

语法&#xff1a;select * from table1 join table2 on table1.id&#61;table2.id

交叉连接&#xff1a;即产生笛卡儿积的连接

语法&#xff1a;select * from table1 cross join table2

外连接&#xff1a;

左外连接&#xff1a;返回左表的所有行&#xff0c;右表不匹配的用null表示

语法&#xff1a;select * from table1 left join table2 on table1.id&#61;table2.id

右外连接&#xff1a;返回右表的所有行&#xff0c;左表不匹配的用null表示

语法&#xff1a;select * from table1 right join table2 on table1.id&#61;table2.id

全连接&#xff1a;返回连接表的所有行

语法&#xff1a;select * from table1 full join table2 on table1.id&#61;table2.id

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网&#xff0c;转载请注明出处&#xff0c;感谢您的尊重&#xff01;



推荐阅读
  • 包含phppdoerrorcode的词条 ... [详细]
  • MySQL初级篇——字符串、日期时间、流程控制函数的相关应用
    文章目录:1.字符串函数2.日期时间函数2.1获取日期时间2.2日期与时间戳的转换2.3获取年月日、时分秒、星期数、天数等函数2.4时间和秒钟的转换2. ... [详细]
  • 本文介绍了如何使用Flume从Linux文件系统收集日志并存储到HDFS,然后通过MapReduce清洗数据,使用Hive进行数据分析,并最终通过Sqoop将结果导出到MySQL数据库。 ... [详细]
  • php更新数据库字段的函数是,php更新数据库字段的函数是 ... [详细]
  • 本文详细介绍了MySQL数据库的基础语法与核心操作,涵盖从基础概念到具体应用的多个方面。首先,文章从基础知识入手,逐步深入到创建和修改数据表的操作。接着,详细讲解了如何进行数据的插入、更新与删除。在查询部分,不仅介绍了DISTINCT和LIMIT的使用方法,还探讨了排序、过滤和通配符的应用。此外,文章还涵盖了计算字段以及多种函数的使用,包括文本处理、日期和时间处理及数值处理等。通过这些内容,读者可以全面掌握MySQL数据库的核心操作技巧。 ... [详细]
  • importpymysql#一、直接连接mysql数据库'''coonpymysql.connect(host'192.168.*.*',u ... [详细]
  • 在什么情况下MySQL的可重复读隔离级别会导致幻读现象? ... [详细]
  • MySQL Decimal 类型的最大值解析及其在数据处理中的应用艺术
    在关系型数据库中,表的设计与SQL语句的编写对性能的影响至关重要,甚至可占到90%以上。本文将重点探讨MySQL中Decimal类型的最大值及其在数据处理中的应用技巧,通过实例分析和优化建议,帮助读者深入理解并掌握这一重要知识点。 ... [详细]
  • NX二次开发:UFUN点收集器UF_UI_select_point_collection详解
    本文介绍了如何在NX中使用UFUN库进行点收集器的二次开发,包括必要的头文件包含、初始化和选择点集合的具体实现。 ... [详细]
  • SQL 连接详解与应用
    本文详细介绍了 SQL 连接的概念、分类及实际应用,包括内连接、外连接、自连接等,并提供了丰富的示例代码。 ... [详细]
  • 本文介绍了如何在 Spring 3.0.5 中使用 JdbcTemplate 插入数据并获取 MySQL 表中的自增主键。 ... [详细]
  • DAO(Data Access Object)模式是一种用于抽象和封装所有对数据库或其他持久化机制访问的方法,它通过提供一个统一的接口来隐藏底层数据访问的复杂性。 ... [详细]
  • 本文详细介绍了数据库并发控制的基本概念、重要性和具体实现方法。并发控制是确保多个事务在同时操作数据库时保持数据一致性的关键机制。文章涵盖了锁机制、多版本并发控制(MVCC)、乐观并发控制和悲观并发控制等内容。 ... [详细]
  • 数据类型和操作数据表2.1MySQL类型之整型2.2MySQL数据类型之浮点型2.3日期时间型DATE1支持时间:1000年1月1日~9999年12月31日DATETIME ... [详细]
  • MySQL的查询执行流程涉及多个关键组件,包括连接器、查询缓存、分析器和优化器。在服务层,连接器负责建立与客户端的连接,查询缓存用于存储和检索常用查询结果,以提高性能。分析器则解析SQL语句,生成语法树,而优化器负责选择最优的查询执行计划。这一流程确保了MySQL能够高效地处理各种复杂的查询请求。 ... [详细]
author-avatar
srh女孩不哭
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有