数据定义

 SQL的数据定义语句

   

      

  

  

  

CREATE TABLE

DROP TABLE

ALTER TABLE

  

CREATE VIEW

DROP VIEW

 

  

CREATE INDEX

DROP INDEX

 

一、定义基本表

[例1]建立学生表Student

CREATE TABLE Student
(Sno CHAR(5) PRIMARY KEY,
Sname CHAR(20) ,
Ssex CHAR(1) ,
Sage INT,
Sdept CHAR(15));

常用数据类型
CHAR(n)                            字符型
INT                                     整型
NUMERIC ( 精度,小数)     实型
DATE                                   日期型

NUMERIC ( 8,2) 表示精度8位,有2位小数,6位整数

[例2]  建立一个“学生选课”表SC,它由学号Sno、课程号Cno,修课成绩Grade组成,其中(Sno, Cno)为主码。

CREATE TABLE SC(
Sno CHAR(5) ,
Cno CHAR(3) ,
Grade INT,
Primary key (Sno, Cno));

建立表时,系统会将表的结构描述存入数据字典中
在SQL SERVER中, 数据字典称为系统表

数据字典===系统表===数据库模式

SQL SERVER中, 与TABLE有关的系统表:

sysobjects 数据库对象
  syscolumns 列

二、修改基本表

ALTER TABLE <表名>
[ ADD <新列名> <数据类型> [ 完整性约束 ] ]
[ DROP <原列名>|<完整性约束名> ]
[ALTER COLUMN <原列名> <数据类型> ];

[例3]  向Student表增加“入学时间”列,其数据类型为日期型。

ALTER TABLE Student ADD Scome DATE;

不论基本表中原来是否已有数据,新增加的列一律为空值。

三、删除基本表

DROP TABLE <表名>;  

删除表时,系统会从数据字典中删去有关该表的描述

[例4]  删除Student表

 DROP TABLE Student ;

四.索引的建立与删除

建立索引是加快查询速度的有效手段

[例5]  为Student的sname列建立索引。

CREATE  INDEX  StuName ON Student(Sname);

语句格式:

CREATE  INDEX  <索引名>
ON <表名>(<列名 [,<列名> ]…);

[例6]  为Course的Cname列建立唯一值索引。

CREATE  UNIQUE INDEX  CouName ON Course(Cname);

删除索引

DROP INDEX <索引名>;

删除索引时,系统会从数据字典中删去有关该索引的描述。

[例7]  删除Student表的Stusname索引。

    DROP INDEX Stusname;

数据库——SQL数据定义的更多相关文章

  1. SQL - 数据定义

    SQL 的数据定义功能包括模式定义.表定义.视图和索引的定义: 操作对象 操作方式 创建 删除 修改 模式  create schema drop schema   表  create table d ...

  2. Orcale 之 SQL 数据定义

    SQL 的数据定义功能主要是针对数据对象进行定义的,这些数据对象主要包括:表,视图以及索引. 注意:由于视图是基于表的虚表,而索引是依附在基表上的,所以视图和索引均不提供修改视图和索引定义的操作.如果 ...

  3. Oracle数据库教程-数据定义语言(表操作)

    创建表 建表语法: CREATE TABLE 表名 ( 列1 数据类型 [primary key], 列2 数据类型 default 默认值 [not null], …, constraint 约束名 ...

  4. mysql数据库-mysql数据定义语言DDL (Data Definition Language)归类(六)

    0x01 创建数据库并指定字符集和排序规则 -- 三种实例写法 create database temptab2 character set utf8 collate utf8_general_ci; ...

  5. 数据库——SQL数据连接查询

    连接查询 查询结果或条件涉及多个表的查询称为连接查询SQL中连接查询的主要类型     广义笛卡尔积     等值连接(含自然连接)     自身连接查询     外连接查询 一.广义笛卡尔积 不带连 ...

  6. 数据库——SQL数据单表查询

    数据查询   语句格式 SELECT [ALL|DISTINCT] <目标列表达式> [,<目标列表达式>] … FROM <表或视图名>[,<表或视图名&g ...

  7. ClickHouse数据库数据定义手记之数据类型

    前提 前边一篇文章详细分析了如何在Windows10系统下搭建ClickHouse的开发环境,接着需要详细学习一下此数据库的数据定义,包括数据类型.DDL和DML.ClickHouse作为一款完备的D ...

  8. 数据库-SQL查询语言(一)

    SQL数据定义 DDL sql的DDL不仅能定义一组关系,还能定义每个关系的信息,包括: 每个关系的模式 每个属性的取值类型 完整性约束 每个关系的维护的索引集合 每个关系的安全性和权限信息 每个关系 ...

  9. 支持SQL Server数据库又支持MongoDB数据库的数据访问设计

    网站整体架构建议采用工厂模式 分别包括:数据访问层DAL,数据访问接口层IDAL,工厂层DALFactory,业务逻辑层,显示层这样的架构方式 在WebConfig配置采用何种数据库的数据访问层 &l ...

随机推荐

  1. UITextView 和 UITextField限制字符数和表情符号

    UITextField限制字符数 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)r ...

  2. PAT乙级1029

    1029 旧键盘 (20 分)   旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及实际被输入的文字,请你列出肯定坏掉的那些键. 输入格式: 输入在 ...

  3. C语言程序设计I—第七周教学

    第七周教学总结(14/10-20/10) 教学内容 第二章 用C语言编写程序 2.5 生成乘方表和阶乘表 课前准备 在蓝墨云班课发布资源: PTA:2018秋第七周作业 分享码:FE065DC5D8C ...

  4. HDU 2141 Can you find it? (二分)

    题目链接: Can you find it? Time Limit: 10000/3000 MS (Java/Others)    Memory Limit: 32768/10000 K (Java/ ...

  5. plsql developer连接oracle 12.2报错 ora-28040 No matching authentication protocol

    使用plsql连接时,发现报ora-28040 No matching authentication protocol 赶紧查了查MOS,原来在默认情况下Oracle12.2对客户端版本有限制, 解决 ...

  6. java_继承、实现、依赖、关联、聚合、组合的代码表示

    一.继承.实现.依赖.关联.聚合.组合的简单代码表示 1.继承关系 1).文字描述 一个类或者接口继承了另一个类或者接口,增加了在原有的方法和属性上增加了新的方法和属性. 2).代码表示 class ...

  7. hadoop在CentOS下的安装配置

    版本:CentOS-6.8-x86_64-minimal,hadoop2.6.4,jdk1.7.0 首先把jdk.hadoop压缩包下载发送到CentOS下并解压 下载发送不多赘述,解压命令tar - ...

  8. # 2017-2018-1 20155302 课下实践IPC及课上补充

    课上实践补交 题目二要求: 学习使用stat(1),并用C语言实现 提交学习stat(1)的截图 man -k ,grep -r的使用 伪代码 产品代码 mystate.c,提交码云链接 测试代码,m ...

  9. cnn 滤波

    http://blog.csdn.net/zouxy09/article/details/49080029

  10. Linux命令学习笔记2(mysql安装和mysql-python安装)

    linux下 强制安装 rpm安装包(切换到root用户):  rpm -ivh bluefish-shared-data-2.2.7-1.el6.noarch.rpm --nodeps --forc ...