SQL入门经典(四)之创建和修改数据表
本章主要讲如何使用脚本创建数据库;如何使用脚本创建表;如何删除对象和修改对象.
CREATE 语句:CREATE <object type> <onject name>
创建数据库基本语法:CREATE DATABASE <database name> ON [PARIMARY] ( [NAME=<'logical file name'>,][FILENAME='<file name>',][SIZE=<size in kilobytes,megabytes,gigabytes,or terabayes>,][MAXSIZE=<size in kilobytes,megabytes,gigabytes,or terabayes>,][FILEGROWTH=<size in kilobytes,megabytes,gigabytes,or terabayes>])
LOG ON ( [NAME=<'logical file name'>,][FILENAME='<file name>',][SIZE=<size in kilobytes,megabytes,gigabytes,or terabayes>,][MAXSIZE=<size in kilobytes,megabytes,gigabytes,or terabayes>,][FILEGROWTH=<size in kilobytes,megabytes,gigabytes,or terabayes>])
[CONTAINMENT=OFF|PARTIAL][COLLATE<collation name>][FOR ATTACH[WITH <service broker>][FOR ATTACH_REBUILD_LOG|WITH DB_CHAINING ON|OFF|TRUSTWORTHY ON| OFF]] [AS SNAPSHOT OF< source dateabase name>][;]/*红色部分数据是可选SQLSERVER支持的数据后面不做介绍*/
在一一分析创建语法:
ON主要用于2个方面一个是定义存储数据库和日记文件位置。还可以看到primary-这意味着物理上存储数的主文件组。也可以将数据存储到所谓的附属文件组里这里超出所写范围了。
NAME 定义文件的逻辑名称-即sql内部该引用名称.
FILENAME 定义文件组的在实际的操作系统的磁盘上物理路径,本章建议数据文件mdf结尾。日记ldf结尾,附属文件ndf结果。
SIZE 数据库初始值大小,可以KB,MB,GB,TB。
MAXSIZE 数据库最大大小。比SIZE要大
FILEGROWTH 数据库快满的时候,每次自动增长的数值。可以是KB,MB,GB,TB,还有百分比。增长之后数据库最大值不会超过MAXSIZE数值。
来试一试构建数据库
CREATE DATABASE panda
ON
(
name='panda.mdf',
filename='e:\test\panda\panda.mdf',
size=100MB,
maxsize=1GB,
filegrowth=50MB
)
log on
(
name='panda_log.ldf',
filename='e:\test\panda\panda_log.ldf',
size=100MB,
maxsize=1GB,
filegrowth=50MB
)
在我们执行下 exec sp_helpdb panda (查看创建表的信息)
创建数据表的基本用法:CREATE TABLE <table name> (<column name> <data type> [[DEFAULT< constant expresstion>]|[INDENTITY[(seed,increment)[NONT FOR REPLICATION]]|[NULL|ISNULL]]][,.......]).
列太多无法可以写完,因为键和约束那些都可以写到表里面。下一篇博客就开始介绍约束和键。
试一试:
CREATE TABLE panda_test
(
ID int identity(1,1) primary key,
name nvarchar(20) not null,
age bit default(1) not null,
code int check(code>1) not null
)
运行下exec sp_help panda_test
ALTER 语句:
基本语法ALTER <object type> <object name>
alter database :
alter database panda
modify file
(
name='panda.mdf',
size=200MB,
maxSize=2GB
)
在执行一次exec sp_helpdb panda 得到下列结果,file 一定要name这个属性,告诉修改是那个文件。
Alter table:
alter table panda_test
alter column age int --修改age值(如果有键和约束是无法修改)
alter table panda_test
add test nvarchar(30) not null--添加值 alter table panda_test
drop column <column name>有约束无法删除。
运行,测试结果:exec sp_help panda_test
先写到这里,修改表还有很多。等下一篇博客在详细将修改,删除,添加表约束和键这些。
DROP: DROP <object type> <object name>删除对象,如:drop database <database name>,drop table <table name> ,drop view <view name>
SQL入门经典(四)之创建和修改数据表的更多相关文章
- SQL Server 创建和修改数据表
一.CREATE语句(创建) 1.创建DataBase 1.CONTAINMENT SQL Server 2012 新功能 , 默认值是OFF .(太高级 书上也没有详细介绍). 2.ON ON用于两 ...
- SQL SERVER 2012 第五章 创建和修改数据表 の CREATE语句
CREATE <object type> <object name> CREATE DATABASE <database name> 比较完整的语法列表: 日志文件 ...
- SQL SERVER 2012 第五章 创建和修改数据表 の SQL SERVER中的对象名
[ServerName.[DataBaseName.[SchemeName.]]]ObjectName 服务器名,数据库名,模式名,对象名 其中模式是一个新出的坑爹的东西.
- sql 入门经典(第五版) Ryan Stephens 学习笔记 (第一,二,三,,四,五章)
SQL - Structured Query Language (结构化查询语言) 1/ SQL 命令的类型 : 数据定义语言: DDL 数据操作语言: DML 数据查询语言: DQL 数据控制语言 ...
- SQL入门经典(十) 之事务
事务是什么?事务关键在与其原子性.原子性概念是指可以把一些事情当作一个执行单元来看待.从数据库角度看待.他是指应该全部执行或者全部不执行一条或多条语句的最小组合.当处理数据时候经常确保一件事发生另一件 ...
- 《SQL入门经典》总结
<SQL入门经典>这本书从考试前就开了个头,一直到前两天才看完,拉的战线也够长的.放假来了,基本上什么内容都不记得了.好不容易看完了,就赶紧总结一下吧! 该书分为两大部分,第一部分是第1~ ...
- sql server2008中怎样用sql语句创建数据库和数据表
这是简单用代码实现创建数据库和数据表的sql语句,如下: --调用系统数据库-- use master go /***防止你要创建的数据库同名,先把它删除掉****/ if Exists(select ...
- 数据库之mysql篇(3)—— mysql创建/修改数据表/操作表数据
创建数据表:create table 数据表名 1.创建表规范 create table 表名( 列名 数据类型 是否为空 自动排序/默认值 主键/外键/唯一键, 列名 数据类型 ...
- 【spring boot】spring boot 2.0 项目中使用mysql驱动启动创建的mysql数据表,引擎是MyISAM,如何修改启动时创建数据表引擎为【spring boot 2.0】
默认创建数据表使用的引擎是MyISAM 2018-05-14 14:16:37.283 INFO 7328 --- [ restartedMain] org.hibernate.dialect.Dia ...
随机推荐
- 分享自制的13套 JQuery Mobile 界面主题(追加4套新款)
15套整合在一起的,其中2套官方+13套自制,款款精致,方便移动开发. 字体默认为微软雅黑. 适配于 JQuery Mobile 1.4.3 下载地址:http://files.cnblogs.com ...
- Xcode7以后 使用空模板
Xcode7以后的版本没有空模板可以选择 习惯使用空模版的 可以自己拷贝空模版文件夹 放到模版的位置 重启就可以使用了 1:首先 需要有一个空模版 没有空模板的可以在下面路径下下载一个 并解压 htt ...
- iOStextFiled判断输入长度
个人在开发当中发现在用textField的代理方法 -(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(N ...
- DISK 100% BUSY,谁造成的?
iostat等命令看到的是系统级的统计,如果要追查是哪个进程导致的I/O繁忙,应该怎么办? iostat等命令看到的是系统级的统计,比如下例中我们看到/dev/sdb很忙,如果要追查是哪个进程导致的I ...
- aa12
option = { backgroundColor: '#1b1b1b', color: ['gold','aqua','lime'], title : { text: '模拟迁徙', subtex ...
- js打开新页面
var PostNewPage=function (url, params) { var temp_form = document.createElement("form"); t ...
- shell学习--grep1
一. grep的来源 通过ex编辑器来查找某个字串: :/pattern/p 其中p是打印,包含字符串pattern的第一行将被打印:如果需要打印包含pattern的所有行,可以这样: :/g/pat ...
- 使用自定义的framework
1.创建framework工程,创建需要的类将接口暴露在public中
- 1211php面向对象
首先需要定义数组,$attr = array(直接给元素1,2,3)索引数组 关联数组 $attr = array("one"=>1,2,3) for($i=0;$i< ...
- android混淆那些事
写给Android开发者的混淆使用手册 综述 毫无疑问,混淆是打包过程中最重要的流程之一,在没有特殊原因的情况下,所有 app 都应该开启混淆. 首先,这里说的的混淆其实是包括了代码压缩.代码混淆以及 ...