SQL语言学习-数据定义语言
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语言学习-数据定义语言的更多相关文章
- SQL语句之数据定义语言(DDL)详解
操作对象:数据库 1)创建数据库 MariaDB [(none)]> help create databaseName: 'CREATE DATABASE'Description:Syntax: ...
- sql 两大类 DDL数据定义语言 和DCL数据控制语言
SQL分为五大类: DDL:数据定义语言 DCL:数据控制语言 DML:数据的操纵语言 DTL:数据事务语言 DQL:数据查询语言. DDL (date definition lang ...
- oracle学习笔记(三) DCL 数据控制语言与 DDL 数据定义语言
DCL 数据控制语言 Data control language 之前说过的授权和收权利语句 grant, revoke DDL 数据定义语言 Data define language create ...
- ODPS SQL <for 数据定义语言 DDL>
数据定义语言:(DDL) 建表语句: CREATE TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment ...
- Oracle language types(语言种类) 表的相关操作 DDL数据定义语言
数据定义语言 Data Definition Language Statements(DDL)数据操纵语言 Data Manipulation Language(DML) Statements事务控制 ...
- DDL(数据定义语言)
1.Oracle中常见的数据类型分类:(A) 1.number(x,y) 数字类型,x表示最大长度,y表示精度对应java中除char外所有基本数据类型(byte.short.int.long.flo ...
- Hive 官方手册翻译 -- Hive DDL(数据定义语言)
Hive DDL(数据定义语言) Confluence Administrator创建, Janaki Lahorani修改于 2018年9月19日 原文链接 https://cwiki.apache ...
- mysql DDL数据定义语言
DDL数据定义语言 本节涉及MySQL关键字:create.alter(rename,add,chang,modify,drop).drop.delete.truncate等. -- 创建表:-- 数 ...
- CREATE TABLE——数据定义语言 (Data Definition Language, DDL)
Sql语句分为三大类: 数据定义语言,负责创建,修改,删除表,索引和视图等对象: 数据操作语言,负责数据库中数据的插入,查询,删除等操作: 数据控制语言,用来授予和撤销用户权限. 数据定义语言 (Da ...
随机推荐
- module require区别
LUA modue require package 区别 2011-01-19 12:41:35| 分类: 默认分类 | 标签:lua package module require 加载 ...
- c语言的lua库编写
gcc编译 gcc -I/usr/local/include/ -L/usr/local/lib/ -lm -o engine_mlisten_lua ./src/engine_mlisten_lua ...
- 黑马程序员——java基础之文件复制
---------------------- ASP.Net+Unity开发..Net培训.期待与您交流!---------------------- <a href="http:// ...
- SQL SERVER中如何格式化日期(转)
原文地址:http://blog.sina.com.cn/s/blog_95cfa64601018obo.html 1. SELECT convert(varchar, getdate(), 10 ...
- Objective-C——NSMutableURLRequest发送POST请求,使用NSJSONSerialization解析JSON字符串
NSString *reqData = @"Data="; NSData *postDatas = nil; NSString *urlPath = @"url" ...
- ThinkPHP 类似Yii的Gii生成Model的功能。
ThinkPHP 类似Yii的Gii生成Model的功能.自动生成ThinkPhp 3.1 的基础模型.. #!/usr/bin/env php <?php /** * * THINKPHP 基 ...
- Nexus远程Maven仓库索引下载教程
下载Maven仓库索引有两种方式: 一.手动下载 首先将索引下载到本地,下载地址:nexus-maven-repository-index.zip 解压索引压缩包,将里面内容全部拷贝 关闭当前Ne ...
- Android的消息机制
一.简介 ①.我们不能在子线程中去访问UI空控件,这是时候只能通过Handler将更新UI的操作放到主线程中去执行 ②.Handler的组成:messageQueue和Looper的支持 ③.Mess ...
- YUM更换源--yum找不到安装包(转)
公司提供的CentOS VM中,/etc/yum.repos.d 下 只有一个build.repo,其中提供的yum 源只有公司内部的几个源,很多包在这些源中都找不到.于是要添加别的源,下面的帖子中介 ...
- Linux中的读函数与块高速缓存
为了提高Linux块设备读写的效率,Unix会在内存中建立块高速缓存,块高速缓存存储了系统最近读的数据块和刚刚写入的数据块,也就是说IO访问其实是和块高速缓存打交道的(直接IO除外),块高速缓存会适时 ...