数据定义语言DDL - 建库建表

数据库文件构成:主文件(MDF)、次要文件(NDF)、日志文件(LDF)

其中主文件和日志文件是必须的,次要文件可以有多个(存放在不同分区以提高速度),也可以没有

创建数据库文件主要用到5个属性:

name、filename、size、maxsize、filegrowth

use master
go

if exists (select * from sysdatabases where name=‘db‘)
drop database db
go

create database db
on primary
(
    name = ‘db_mdf‘,
    filename = ‘c:\temp\db.mdf‘,
    size = 10,
    maxsize = 100,
    filegrowth = 5
),
(
    name = ‘db_ndf‘,
    filename = ‘c:\temp\db.ndf‘,
    size = 10,
    maxsize = 100,
    filegrowth = 5
)
log on
(
    name = ‘db_ldf‘,
    filename = ‘c:\temp\db.ldf‘,
    size = 10,
    maxsize = 100,
    filegrowth = 5
)
go

常见数据类型

字符:char、varchar、nvarchar

数值:int、decimal

时间:date、datetime

布尔:bit

图片:image

文本:xml

创建表的SQL语句

use db
go

if exists (select * from sysobjects where name=‘score‘)
drop database score
go

if exists (select * from sysobjects where name=‘corse‘)
drop database corse
go

if exists (select * from sysobjects where name=‘grade‘)
drop database grade
go

if exists (select * from sysobjects where name=‘student‘)
drop database student
go

create table student
(
    id int primary key identity(1,1),
    name nvarchar(50) not null,
    gender bit default ‘true‘,
    joindate date default getdate()
)
go

create table grade
(
    id int primary key identity(1,1),
    name nvarchar(50) not null unique,
    state bit default ‘true‘
)
go

create table corse
(
    id int primary key identity(1,1),
    name nvarchar(50) not null unique,
    state bit default ‘true‘,
    gradeid int not null,
    constraint fk_corse_gradeid foreign key (gradeid) references grade(id)
)
alter table corse nocheck constraint fk_corse_gradeid
go

create table score
(
    studentid int foreign key references student(id) on delete cascade,
    corseid int foreign key references corse(id) on delete cascade,
    examtime datetime default getdate(),
    value decimal(4,1) check(value between 0 and 100),
    constraint pk_score primary key clustered (studentid,corseid)
)
go

数据库完整性主要包括:

实体完整性

域完整性

引用完整性

自定义完整性

数据库约束主要包括:

主键:primary key [clustered]

外键:foreign key references [on delete cascade | nocheck constraint]

唯一:unique

非空:not null

检查:check

默认:default

时间: 2024-10-08 10:43:55

数据定义语言DDL - 建库建表的相关文章

mysql学习笔记之六(数据定义语言DDL)

SQL语言包括四类种主要程序设计语言类别的语句:数据定义语言(DDL),数据操作语言(DML)及数据控制语言(DCL)还有事务控制语言(TCL). ※  数据定义语言(DDL),例如:CREATE.DROP.ALTER等语句. ※  数据操作语言(DML),例如:INSERT(插入).UPDATE(修改).DELETE(删除)语句. ※  数据查询语言(DQL),例如:SELECT语句.(一般不会单独归于一类,因为只有一个语句). ※  数据控制语言(DCL),例如:GRANT.REVOKE等语

oracle sql 基础(四):数据定义语言(创建和管理表、视图)

数据定义语言 (Data Definition Language, DDL) 是SQL语言集中负责数据结构定义与数据库对象定义的语言,由CREATE.ALTER与DROP三个语法所组成.数据库对象包括表.视图.索引.同义词.序列等(TABLE/VIEW/INDEX/SYN/SEQUENCE).我们先对创建和管理表和视图进行一个介绍. 一.创建和管理表 数据表是数据库中一个非常重要的对象,是其他对象的基础.可分为用户表和数据字典两类. 1.创建表(CREATE TABLE) CREATE TABL

【MySQL笔记】数据定义语言DDL

1.创建基本表 create table <表名> (<列名><数据类型>[列级完整性约束条件] [,<列名><数据类型>[列级完整性约束条件] ......... [,<表级完整性约束条件>]); 例: create table student( Sno char(5) not null unique, Sname char(20) unique, Ssex char(1), Sage int, Sdept char(15) );

数据定义语言DDL - 视图索引

视图是虚拟表,主要用于方便使用和安全性,如: 按照条件筛选和过滤行 保护敏感数据 降低复杂程度 抽象逻辑数据库 在使用视图时需要注意: 视图中可以包含多张表 视图可以基于视图再次创建 视图也允许增删改 如果排序ORDER BY,则必须使用TOP关键字 不能出现INTO关键字 不能出现变量 创建视图的语法 create view view_detail as select g.id as gid, g.name as gname, c.id as cid, c.name as cname from

DDL(Data Definition Language)数据定义语言基础

数据定义语言DDL(Data Definition Language)是SQL语言的三个主要组成部分之一(另外两个分别是数据操作语言DML(Data Mainpulation Language)和数据控制语言(Data Control Language)). 1:创建用户Create User 创建用户使用如下的语法 Create user 用户名 identified by 密码 [default tablespace 缺省表空间] [temporary tablespace 临时表空间].如

DDL(数据定义语言)

1.Oracle中常见的数据类型分类:(A) 1.number(x,y) 数字类型,x表示最大长度,y表示精度对应java中除char外所有基本数据类型(byte.short.int.long.float.double.boolean) 2.varchar2(x) 可变字符串,x表示最大长度.对应java中String 3.char(x) 定长字符串,x表示最大长度. 对应java中String 4.long 长字符串,最大2G.对应java中String 5.Date,日期(年月日时分秒)对应

mysql语句1-创建库和表

一.DDL数据定义语言 就是对书库内部的对象进行创建.删除.修改等操作的语言. 关键字:create  drop  alter 1.连接数据库 mysql -u用户名 -p -h指定主机(不指定默认是本机) 2. 创建数据库: mysql> create database test1; Query OK, 1 row affected (0.00 sec)  删除库 mysql> drop datbases test1; (0.00 sec):这个表示操作执行的时间. 3.查询数据库 mysq

使用T-sql建库建表建约束

为什么要使用sql语句建库建表? 现在假设这样一个场景,公司的项目经过测试没问题后需要在客户的实际环境中进行演示,那就需要对数据进行移植,现在问题来了:客户的数据库版本和公司开发阶段使用的数据库不兼容怎么移植? 行之有效的办法就是编写比较通用的SQL语句,编写完毕后存入*.sql文件中,最后复制到客户的计算机中,并执行*.sql文件中的SQL语句,从而实现后台数据库的移植.所以我们很有必要掌握如何使用SQL语句,实现创建数据库.创建表.添加约束和创建登录账户等! 使用SQl语句创建和删除数据库

mysql学习一 DDL(数据定义语言)

一.mysql的具体安装这里就不多说了,网上有很多.大家可以在网上找找,有安装版本和压缩版本. 二.验证数据库是否安装成功: 在dos的命令行下面输入:mysql -u root -p(默认的是直接回车就可以了,如果你没有设置密码) 如果你设置了密码就得输入密码 就会登录上mysql,有mysql的提示信息. 三.DDL:数据定义语言 简述:什么是DDL呢?Data Definition Language(数据定义语言):我们知道是什么了,接下来应该了解它有什么作用吧?我想我们学习很多东西的时候