SQL 数据类型、约束、索引及视图
一、数据类型:
整数:int,bigint,smallint
小数:float,real,decimal(长度,精度),numeric(长度,精度)
字符:char(n),varchar(n) 8000英文字符,4000汉字
text——大文本。
逻辑:bit 0,1/true/false
二进制类型:binary 8000,image
日期:datetime(1753-1-1~9999,12,31),smalldatetime(1900.1.1--2079.6.6)
数据类型的作用:建表,SQL编程
二、约束——保证数据的完整性。
(一)主键约束——实体
1.不重。2.不空。3.排序。4.唯一(不能出现两个主键)5.组合主键。
建主键:
1.可视化建主键。
表的设计视图中
2.代码建主键。 primary key
(二)外键约束——引用
两个表,主表和从表。主表——用主键来约束对方的。从表——被约束的表,被约束的列称为外键列。
外键总是建在从表上。
从表外键上填写的内容必须是主表主键里面的已经有的内容。
建外键:
1.可视化:表的设计视图中--关系——外建窗口;使用数据库关系图。
2.代码:references 主表名(主键列)
(三)非空约束 ——不能为空
1.可视化:表的设计界面,每一列后都有一个“允许为null”的复选框。
2.代码:not null
(四)自增长
它有“种子”(起始值)和"步长"(每次增长的数量)。
注意:
1.每个自增长的值,一旦被用过了,就废了,不会再重复使用。
2.任何向自增长列添加值的行为都不正确。
3.对列有类型要求:int decimal
1.可视化:在列的属性中,标识规范——是。
2.代码:identity
(五)Check约束
主要是对列里面的值做进一步的规范化。
1.可视化:在列上右击——check约束——在弹出的对话框中添加check约束。
2.代码:check(表达式)
(六)默认值
1.可视化:在列的属性——默认值或绑定
2.代码:default 值
(七)唯一约束
可以空,但不能重。
1.可视化:在列上右击选择——索引/键——在这个界面中既可以建索引又可以建唯一约束。
2.代码:unique
三、索引
提高查询的效率。一个表可以对不同的列建立多个索引。
簇索引(排序,主键),非簇索引(普通索引)。
索引的劣势:对增、删、改的效率会降低。
1.可视化:跟唯一约束的建法相似。
2.代码:create index 索引名 on 表名(列名)
四、视图
把查询给包装起来,使用起来就像用一个表一样。
视图本身不存储数据。
视图可以从一个表、多个表、多个表和视图上建立起来。
视图的优势:查看方便。劣势:增、删、改不方便。
1.可视化:对象资源管理器中,数据库--视图右击--新建视图。
2.代码:create view 视图名
SQL 数据类型、约束、索引及视图的更多相关文章
- SQL基础(3)-索引/触发器/视图操作
本文只列出索引,触发器,视图的简单操作语句 1.索引 a.创建 create index idx_name on fdh_client_info(name); --普通索引(单列索引) create ...
- SQL基础-约束&索引
一.约束 1.约束简介 约束(constraint): 表中数据的限制条件. 完整性 有效性 约束的种类: 主键约束 外键约束 唯一约束 检查约束 非空约束 2.主键约束 主键约束: 唯一标识表中每一 ...
- SQL Server 索引和视图
Ø 索引 1. 什么是索引 索引就是数据表中数据和相应的存储位置的列表,利用索引可以提高在表或视图中的查找数据的速度. 2. 索引分类 数据库中索引主要分为两类:聚集索引和非聚集索引.SQL Serv ...
- SQL Server 索引和视图【转】
Ø 索引 1. 什么是索引 索引就是数据表中数据和相应的存储位置的列表,利用索引可以提高在表或视图中的查找数据的速度. 2. 索引分类 数据库中索引主要分为两类:聚集索引和非聚集索引.SQL Serv ...
- SQL Server(六)——索引、视图和SQL编程
1.索引 添加索引,设计界面,在任何一列前右键--索引/键--点击进入添加某一列为索引 2.视图 视图就是我们查询出来的虚拟表 创建视图:create view 视图名 as SQL查询语句,分组,排 ...
- Mysql数据库的数据类型、索引、锁、事务和视图
Mysql数据库的数据类型.索引.锁.事务和视图 数据的类型 1)数据类型: 数据长什么样? 数据需要多少空间来存放? 系统内置数据类型和用户定义数据类型 2)MySql 支持多种列类型: 数值类型 ...
- SQL Server索引 - 索引(物化)视图 <第九篇>
一.索引视图基本概念 索引视图实际上是一种将一组唯一值“物化”为群集索引形式的视图,所为物化就是几乎和表一样,其数据也是会存储一份的(会占用硬盘空间,但是查询速度快,例如可以将count(),sum( ...
- 使用SQL Server 2000索引视图提高性能
什么是索引视图? 许多年来,Microsoft? SQL Server? 一直都提供创建虚拟表(称为视图)的功能.在过去,这些视图主要有两种用途: 提供安全机制,将用户限制在一个或多个基表中的数据的某 ...
- SQL server学习(四)T-SQL编程之事务、索引和视图
今天来分享下T-SQL高级编程中的事务.索引.视图,可以和之前的SQL server系列文章结合起来. 一.事务 事务(TRANSACTION)是作为单个逻辑工作单元执行的一系列操作,这些操作作为一个 ...
- SQL语句-创建索引
语法:CREATE [索引类型] INDEX 索引名称ON 表名(列名)WITH FILLFACTOR = 填充因子值0~100 GO USE 库名GO IF EXISTS (SELECT * FRO ...
随机推荐
- thinkphp 表名注意
$db = "DomainInfo";//查找相关任务的结果表 $result = M($db); $rescc = $result->select(); var_dump( ...
- HDOJ 4417 - Super Mario 线段树or树状数组离线处理..
题意: 同上 题解: 抓着这题作死的搞~~是因为今天练习赛的一道题.SPOJ KQUERY.直到我用最后一种树状数组通过了HDOJ这题后..交SPOJ的才没超时..看排名...时间能排到11名了..有 ...
- 有一种设计风格叫RESTful
一 前言 刚看了<RESTful Web APIs中文版>.试读了前两章. 每本书的第一章都是抽象得不得了,是整本书的总结:开篇说基础有点简单,从教你怎么向地址栏输入地址訪问网页開始(某人 ...
- SQL SERVER分区视图
借助SQL SERVER分区视图,可以对SQL中的表进行集中管理,下文将以实例的方式为您详解SQL SERVER分区视图,希望对您学习SQL数据库能有所帮助. SQL SERVER分区视图给我们提供了 ...
- android 实现静默安装、卸载
方法1:[使用调用接口方法,由于安装卸载应用程序的部分API是隐藏的,所以必须下载Android系统源码,在源码下开发并编译之后使用MM命令编译生成APK文件] import java.io.File ...
- 【SDK编程】
#include <stdio.h> #include <windows.h> int main() { DeleteFile("C:\\test.txt" ...
- satellite-menu和ArcMenu
github上的开源库其实还是很不错的,之前的时候总感觉学一些开源库比较麻烦,里边有好多方法什么的,今天终于迈出了第一步,中间也遇到了一些问题,现在总结下,也给其他刚开始学习开源库的小伙伴一些指导: ...
- c++线程创建传递的参数发生改变
看看如下代码,觉得输出会是什么? #include "stdafx.h" #include <windows.h> #include <iostream> ...
- 在windows平台下忘记了root的密码如何解决?
1.打开MySQL配置文件 my.ini中,添加上skip-grant-tables,可以添加到文件的末尾或者是这添加到[mysqld]的下面. 2.然后重启MYSQL服务 windows环境中: n ...
- locate linux文件查找命令
locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案.其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了.在一般的 di ...