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建表:
1 CREATE TABLE [dbo].[Customer](
2 [CusID] [numeric](18, 0) NOT NULL,
3 [RegID] [int] NOT NULL,
4 [CusName] [varchar](50) NOT NULL,
5 [CusPhone] [varchar](20) NOT NULL,
6 [CusAddress] [varchar](100) NOT NULL,
7 [CusRedate] [date] NULL,
8 [CusCredit] [int] NOT NULL,
9 [CusPrepay] [numeric](10, 0) NULL,
10 CONSTRAINT [PK_CUSTOMER] PRIMARY KEY CLUSTERED
11 (
12 [CusID] ASC
13 )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY],
14 CONSTRAINT [UNI_CUST] UNIQUE NONCLUSTERED
15 (
16 [CusName] ASC
17 )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
18 ) ON [PRIMARY]
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.
- Python文件夹与文件的操作
- ExpandableListView实现商品列表折叠
- Swift 3.0介绍
- IntelliJ IDEA 安装目录的核心文件讲解
- 详述 IntelliJ IDEA 的使用界面
- WCF系列教程之消息交换模式之请求与答复模式(Request/Reply)
- Koa-router源码解读
- WCF系列教程之初识WCF
- IntelliJ IDEA 缓存和索引的介绍及清理方法
- Node.js原理
- WCF系列教程之WCF消息交换模式之单项模式
- React Native调用Android相机图库
- IntelliJ IDEA 之 HelloWorld 项目创建及相关配置文件介绍
- 设置 IntelliJ IDEA 主题和字体的方法
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 点线图和阶梯图的画法
- 添加直线的两种方式
- nginx fastcgi模块ngx_http_fastcgi_module详细解析、使用手册、完整翻译
- Chrome代码调试指南
- Maven安装与配置
- CentOS7安装elk,并监控Nginx的access.log日志
- Aria2 + Rclone 实现离线下载 | 完美脚本配置 | 解决无法上传问题
- alpine使用的避坑指南
- elasticSearch学习(八)
- Python自学成才之路 魔术方法之比较运算符,赋值运算符
- Go语言(golang)新发布的1.13中的Error Wrapping深度分析
- 使用k8s容器钩子触发事件
- Python自学成才之路 魔术方法之属性访问控制
- Python自学成才之路 彻底搞懂python变量作用域
- Python自学成才之路 什么是元类