Sql语言至今已经有6个版本。SQL查询语言包括了所有对数据的操作命令,这些操作可分为四类:数据定义语言(DDL)、数据操纵语言(DML)、数据控制语言(DCL)和嵌入式SQL语言。

数据定义语言(Data Defination Language)用于定义数据库对象。基本的DDL命令包括:Create、alter、drop。

数据操纵语言(Data Manipulation Language)用于数据的检索和数据的更新,数据更新包括:Insert、Delete、Update。数据检索由Select完成。

数据控制语言(Data Control Language)包括权限的授权(Grant)、撤销(Revoke)、完整性规则的描述以及事务开始和结束等控制语句。

嵌入式SQL语言规定了SQL语言在宿主程序中的使用规则。

1.建立数据表

Create负责数据库对象的建立。数据库、数据表、数据库索引、存储过程、触发器等都可以通过Create创建。

Create建表:

 CREATE TABLE [dbo].[Customer](
[CusID] [numeric](18, 0) NOT NULL,
[RegID] [int] NOT NULL,
[CusName] [varchar](50) NOT NULL,
[CusPhone] [varchar](20) NOT NULL,
[CusAddress] [varchar](100) NOT NULL,
[CusRedate] [date] NULL,
[CusCredit] [int] NOT NULL,
[CusPrepay] [numeric](10, 0) NULL,
CONSTRAINT [PK_CUSTOMER] PRIMARY KEY CLUSTERED
(
[CusID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY],
CONSTRAINT [UNI_CUST] UNIQUE NONCLUSTERED
(
[CusName] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

Create建表

create table table_name( column datatype [column level constraint])

比如 create table test(id integer constraint PK_TEST primary key,

name varchar(50) not null unique,stuid integer not null,constraint FK_Student foreign key references Student(stuid))

通过该代码 能够创建test的表  并能定义id、name、stuid 三列。其中id为主键、stuid为外键。 外键的表必须是已经存在的表。

2.更改数据表

在数据表的使用过程中,可能需要对表的结构或者约束进行修改。alter就是负责数据库对象修改的指令。对于数据库可以使用 alter table tablename modification.modification 是指定修改内容的子句。

比如:表中增加一列:alter table test add age integer

删除一列:alter table test drop column age

更改列明: oracle中:alter table test rename age to ages. sql中:EXEC  sp_rename 'customer.[age]','ages','column'

更改数据类型:SQl中:alter table test alter column ages varchar(20),oracle中:alter table test modify ages integer

添加约束:alter table test add constraint uni_ages unique(ages)

禁用约束:Alter Table Account NOCHECK constraint Fk_Student

3.删除数据表

删除数据库对象的操作使用drop指令完成。drop table table_name.

SQL语言学习-数据定义语言的更多相关文章

  1. SQL语句之数据定义语言(DDL)详解

    操作对象:数据库 1)创建数据库 MariaDB [(none)]> help create databaseName: 'CREATE DATABASE'Description:Syntax: ...

  2. sql 两大类 DDL数据定义语言 和DCL数据控制语言

    SQL分为五大类: DDL:数据定义语言   DCL:数据控制语言     DML:数据的操纵语言  DTL:数据事务语言  DQL:数据查询语言. DDL (date definition lang ...

  3. oracle学习笔记(三) DCL 数据控制语言与 DDL 数据定义语言

    DCL 数据控制语言 Data control language 之前说过的授权和收权利语句 grant, revoke DDL 数据定义语言 Data define language create ...

  4. ODPS SQL <for 数据定义语言 DDL>

    数据定义语言:(DDL) 建表语句: CREATE TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment ...

  5. Oracle language types(语言种类) 表的相关操作 DDL数据定义语言

    数据定义语言 Data Definition Language Statements(DDL)数据操纵语言 Data Manipulation Language(DML) Statements事务控制 ...

  6. DDL(数据定义语言)

    1.Oracle中常见的数据类型分类:(A) 1.number(x,y) 数字类型,x表示最大长度,y表示精度对应java中除char外所有基本数据类型(byte.short.int.long.flo ...

  7. Hive 官方手册翻译 -- Hive DDL(数据定义语言)

    Hive DDL(数据定义语言) Confluence Administrator创建, Janaki Lahorani修改于 2018年9月19日 原文链接 https://cwiki.apache ...

  8. mysql DDL数据定义语言

    DDL数据定义语言 本节涉及MySQL关键字:create.alter(rename,add,chang,modify,drop).drop.delete.truncate等. -- 创建表:-- 数 ...

  9. CREATE TABLE——数据定义语言 (Data Definition Language, DDL)

    Sql语句分为三大类: 数据定义语言,负责创建,修改,删除表,索引和视图等对象: 数据操作语言,负责数据库中数据的插入,查询,删除等操作: 数据控制语言,用来授予和撤销用户权限. 数据定义语言 (Da ...

随机推荐

  1. Multiscale Combinatorial Grouping 学习和理解源代码(一)

    目标探测由于所做的最新研究.因此,这一领域的一般阅读文章.发现这篇文章,效果是比较新的比较好.在如此仔细研究.贴纸和共享.下面已经发布若干个连续的,分别对论文和代码进行大致地介绍,最后依据自己的实验对 ...

  2. 【Samza系列】实时计算Samza中文教程(二)——概念

    希望上一篇背景篇让大家对流式计算有了宏观的认识,本篇依据官网是介绍概念,先让我们看看有哪些东西呢?     概念一:Streams     Samza是处理流的.流则是由一系列不可变的一种相似类型的消 ...

  3. js 行列操作

    function insertRow() { var tbl = document.getElementById("tbCarModel"); var rowLen = tbl.c ...

  4. Android SQLite的使用1(非原创)

    1.继承SQLiteOpenHelper :public class MyOpenHelper extends SQLiteOpenHelper {} 2.重写下面3个方法 package com.e ...

  5. UIViewController控制器的生命周期

    视图控制器就是用来管理iOS程序中的视图,默认一个UIViewController为我们提供了一个视图UIView  我们称为根视图 - (instancetype)init{ if (self = ...

  6. Objective-C——NSMutableURLRequest发送POST请求,使用NSJSONSerialization解析JSON字符串

    NSString *reqData = @"Data="; NSData *postDatas = nil; NSString *urlPath = @"url" ...

  7. c#之process类相关整理

    一.根据进程名获取进程的用户名?   需要添加对 System.Management.dll 的引用   using System.Diagnostics; using System.Manageme ...

  8. [jquery] 图片热区随图片大小自由缩放

    在图片上直接画出带超级链接热区元素map和area相信大家并不陌生,Dreamweaver等网页制作软件都有直接在图片上绘制带超级链接的热区工具,但是直接绘制的热区是不能随着图片自适应放大和缩小的,现 ...

  9. Single Number,Single Number II

    Single Number Total Accepted: 103745 Total Submissions: 218647 Difficulty: Medium Given an array of ...

  10. Java Script 中 ==(Equal) 和 === (Identity Equal) 的区别和比较算法逻辑

    判断两个变量是否相等在任何编程语言中都是非常重要的功能. JavaScript 提供了 == 和 === 两种判断两个变量是否相等的运算符,但我们开始学习的时候 JavaScript 的时候,就被一遍 ...