sql server 2008学习5 sql基础

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
简介:

查看数据库的信息:

  • INFORMATION_SCHEMA.CHECK_CONSTRAINTS
  • INFORMATION_SCHEMA.COLUMN_DOMAIN_USAGE
  • INFORMATION_SCHEMA.COLUMN_PRIVILEGES
  • INFORMATION_SCHEMA.COLUMNS   查看数据库中的所有列
  • INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE
  • INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE
  • INFORMATION_SCHEMA.DOMAIN_CONSTRAINTS
  • INFORMATION_SCHEMA.DOMAINS
  • INFORMATION_SCHEMA.KEY_COLUMN_USAGE
  • INFORMATION_SCHEMA.PARAMETERS
  • INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
  • INFORMATION_SCHEMA.ROUTINE_COLUMNS
  • INFORMATION_SCHEMA.ROUTINES
  • INFORMATION_SCHEMA.SCHEMATA 
  • INFORMATION_SCHEMA.TABLE_CONSTRAINTS
  • INFORMATION_SCHEMA.TABLE_PRIVILEGES
  • INFORMATION_SCHEMA.TABLES   查看数据库中表
  • INFORMATION_SCHEMA.VIEW_COLUMN_USAGE
  • INFORMATION_SCHEMA.VIEW_TABLE_USAGE
  • INFORMATION_SCHEMA.VIEWS       查看数据库中视图

group by 子句:

在使用时,select 列表 中的所有列必须为聚合列或是 group by 子句中包括的列.

同样,如果在select 列表中使用聚合列,select列表必须值包括聚合列,否则必须有一个 group by 子句.

 

count聚合函数

除了count(*)函数以外,以其他任意形式使用的count函数都忽略null值.

 

 

having 子句

对 分组后的数据 进行 过滤.

 

系统存储过程

exec sp_help 表名    查看表的属性

 

inner join

stu      image                     sec image

sql :   selert a.Name,b.tel,b.qq from stu a join sec b on a.sec=b.ID

cross join

返回的 join两侧表记录的笛卡尔积

 

 

约束

键约束: 主键约束,外键约束,唯一约束

系统存储过程 查看 表的约束:   exec sp_helpconstraint 表名

设置主键:  alter table 表名 add constraint 约束名 primary key (列名)

设置外键:  alter table 表名 add constraint 约束名 foreign key (本表外键列名)  references 外键表名(外键表的列名)

那么也可以在 一个表中建立外面外键连接 同个表中的其他列.

需要注意的是,在添加外键之前表中至少要有一行数据.因为 实际上 是在检查并强制外键操作之后才选择并填充标识值的 .

那就意味着当检查发生时,还没有值供第一行引用.

 

关于外键的考虑:

1.要想使外键的值为 必须 或是 可选的,那么就需要把外键列 赋值为 null,那么 用户插入外键的值时,即使 被引用的表的列没有值,

那么 引用表依然可以插入数据.

2.外键 实现双向的方式.

sql server默认是不让删除 或修改 被引用表的数据的.因为如果修改了,那么就会 使 引用表 产生很多孤立数据.

那么就可以使用 cascade, 即:级联操作.  当修改或删除 被引用表的信息时,可以级联影响到 引用表的数据.

 

唯一约束:和主键类似, 指定列的每个值必须是唯一的.

由于 唯一约束 不会自动防止设置一个null值,如果允许列为null,那么只能插入一个null,因为在唯一约束看来,null都是相等的.

对已有的表创建约束:   alter table table_name add constraint AK_uniquename unique (columnName)

Check约束

创建check约束: alter table table_name add constraint CN_name check (条件) //几乎所有where的条件可以应用再此

 

default约束

默认值 只在 insert语句中使用,而在 update ,delete语句中 被 忽略掉.

如果在 insert中提供了值,那么就不会使用默认值,如果没提供,永远都是默认值的.

创建default约束:  alter table table_name add constraint constraint_name default ‘default_value’ for column_name

 

禁用约束

不能禁用主键约束或者唯一约束,仅适用于 外键和检查约束

在创建约束时,忽略无效的数据(应用在给已存在数据的表中加约束,但是原来的数据不符合现在的约束标准)

alter table table_name with nocheck add constraint constraint_name check (条件)

 

下面看这个sql  用于屏蔽约束( 主要用于 向当前表中导入外部数据,那有可能外部数据的格式不符合当前的列约束,可以暂时屏蔽掉约束)

alter table table_name nocheck constraint contraint_name

下面是操作check_s这个约束,禁用之前:image

这样就屏蔽的了一个 约束,那么可以通过  执行  sp_helpconstraint ,来查看 该约束的状态, 禁用之后:

image

 

恢复check约束,  sql  :  alter table table_name check constraint constraint_name

分类:  SQL
本文转自左正博客园博客,原文链接:http://www.cnblogs.com/soundcode/archive/2012/09/11/2679993.html ,如需转载请自行联系原作者
相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
1月前
|
SQL 存储 数据库
SQL学习一:ACID四个特性,CURD基本操作,常用关键字,常用聚合函数,五个约束,综合题
这篇文章是关于SQL基础知识的全面介绍,包括ACID特性、CURD操作、常用关键字、聚合函数、约束以及索引的创建和使用,并通过综合题目来巩固学习。
35 1
|
1月前
|
SQL 数据库
执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)之解决方案
执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)之解决方案
256 0
|
2月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
3月前
|
SQL 运维 监控
SQL Server 运维常用sql语句(二)
SQL Server 运维常用sql语句(二)
36 3
|
3月前
|
SQL XML 运维
SQL Server 运维常用sql语句(三)
SQL Server 运维常用sql语句(三)
28 1
|
3月前
|
Java 应用服务中间件 Maven
从零到英雄:一步步构建你的首个 JSF 应用程序,揭开 JavaServer Faces 的神秘面纱
【8月更文挑战第31天】JavaServer Faces (JSF) 是一种强大的 Java EE 标准,用于构建企业级 Web 应用。它提供了丰富的组件库和声明式页面描述语言 Facelets,便于开发者快速开发功能完善且易于维护的 Web 应用。本文将指导你从零开始构建一个简单的 JSF 应用,包括环境搭建、依赖配置、Managed Bean 编写及 Facelets 页面设计。
97 0
|
3月前
|
SQL 关系型数据库 MySQL
【超全整理】SQL日期与时间函数大汇总会:MySQL与SQL Server双轨对比教学,助你轻松搞定时间数据处理难题!
【8月更文挑战第31天】本文介绍了在不同SQL数据库系统(如MySQL、SQL Server、Oracle)中常用的日期与时间函数,包括DATE、NOW()、EXTRACT()、DATE_ADD()、TIMESTAMPDIFF()及日期格式化等,并提供了具体示例。通过对比这些函数在各系统中的使用方法,帮助开发者更高效地处理日期时间数据,满足多种应用场景需求。
414 0
|
3月前
|
SQL 关系型数据库 MySQL
SQL Server、MySQL、PostgreSQL:主流数据库SQL语法异同比较——深入探讨数据类型、分页查询、表创建与数据插入、函数和索引等关键语法差异,为跨数据库开发提供实用指导
【8月更文挑战第31天】SQL Server、MySQL和PostgreSQL是当今最流行的关系型数据库管理系统,均使用SQL作为查询语言,但在语法和功能实现上存在差异。本文将比较它们在数据类型、分页查询、创建和插入数据以及函数和索引等方面的异同,帮助开发者更好地理解和使用这些数据库。尽管它们共用SQL语言,但每个系统都有独特的语法规则,了解这些差异有助于提升开发效率和项目成功率。
404 0
|
2月前
|
SQL 数据库
数据库数据恢复—SQL Server数据库报错“错误823”的数据恢复案例
SQL Server附加数据库出现错误823,附加数据库失败。数据库没有备份,无法通过备份恢复数据库。 SQL Server数据库出现823错误的可能原因有:数据库物理页面损坏、数据库物理页面校验值损坏导致无法识别该页面、断电或者文件系统问题导致页面丢失。
103 12
数据库数据恢复—SQL Server数据库报错“错误823”的数据恢复案例
|
14天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。

热门文章

最新文章

下一篇
无影云桌面