本章主要讲如何使用脚本创建数据库;如何使用脚本创建表;如何删除对象和修改对象.

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入门经典(四)之创建和修改数据表的更多相关文章

  1. SQL Server 创建和修改数据表

    一.CREATE语句(创建) 1.创建DataBase 1.CONTAINMENT SQL Server 2012 新功能 , 默认值是OFF .(太高级 书上也没有详细介绍). 2.ON ON用于两 ...

  2. SQL SERVER 2012 第五章 创建和修改数据表 の CREATE语句

    CREATE <object type> <object name> CREATE DATABASE <database name> 比较完整的语法列表: 日志文件 ...

  3. SQL SERVER 2012 第五章 创建和修改数据表 の SQL SERVER中的对象名

    [ServerName.[DataBaseName.[SchemeName.]]]ObjectName 服务器名,数据库名,模式名,对象名 其中模式是一个新出的坑爹的东西.

  4. sql 入门经典(第五版) Ryan Stephens 学习笔记 (第一,二,三,,四,五章)

    SQL - Structured  Query Language (结构化查询语言) 1/ SQL 命令的类型 : 数据定义语言: DDL 数据操作语言: DML 数据查询语言: DQL 数据控制语言 ...

  5. SQL入门经典(十) 之事务

    事务是什么?事务关键在与其原子性.原子性概念是指可以把一些事情当作一个执行单元来看待.从数据库角度看待.他是指应该全部执行或者全部不执行一条或多条语句的最小组合.当处理数据时候经常确保一件事发生另一件 ...

  6. 《SQL入门经典》总结

    <SQL入门经典>这本书从考试前就开了个头,一直到前两天才看完,拉的战线也够长的.放假来了,基本上什么内容都不记得了.好不容易看完了,就赶紧总结一下吧! 该书分为两大部分,第一部分是第1~ ...

  7. sql server2008中怎样用sql语句创建数据库和数据表

    这是简单用代码实现创建数据库和数据表的sql语句,如下: --调用系统数据库-- use master go /***防止你要创建的数据库同名,先把它删除掉****/ if Exists(select ...

  8. 数据库之mysql篇(3)—— mysql创建/修改数据表/操作表数据

    创建数据表:create table 数据表名 1.创建表规范 create table 表名( 列名   数据类型    是否为空   自动排序/默认值  主键/外键/唯一键, 列名   数据类型 ...

  9. 【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 ...

随机推荐

  1. PE文件头

    pe文件头查看器下载与原文地址: http://www.pc6.com/softview/SoftView_109840.html PE文件入门: PE文件总的来说是由DOS文件头.DOS加载模块.P ...

  2. Keepalived 配置实例

    Keepalived 是一款轻量级HA集群应用,它的设计初衷是为了做LVS集群的HA,即探测LVS健康情况,从而进行主备切换,不仅如此,还能够探测LVS代理的后端主机的健康状况,动态修改LVS转发规则 ...

  3. 数据库执行sql报错Got a packet bigger than 'max_allowed_packet' bytes及重启mysql

    准备在mysql上使用数据库A,但mysql5经过重装后,上面的数据库已丢失,只得通过之前备份的A.sql重新生成数据库A. 1.执行sql报错 在执行A.sql的过程中,出现如下错误:Got a p ...

  4. INI配置文件分析小例子

    随手写个解析INI配置字符串的小例子 带测试 #include <iostream> #include <map> #include <string> #inclu ...

  5. spring aop实现

    Spring 有如下两种选择来定义切入点和增强处理. 基于 Annotation 的"零配置"方式:使用@Aspect.@Pointcut等 Annotation 来标注切入点和增 ...

  6. module.export和export

    module.exports 和 exports 是引用到的同一个对象,类似下面代码所示(为了举例,不是完全的正确): var module.exports = {};        var expo ...

  7. 关于String中+与StringBuilder的问题

      字符串连接可以通过两种方法实现,其中一种是在Java中提供的一个StringBuilder类(这个类只在J2SE5及以上版本提供,以前的版本使用StringBuffer类). 字符串是Java程序 ...

  8. gcc与gdb版本兼容问题

    今天在用gdb调试C++程序的时候,想用"p i”命令打印出程序的一个局部变量i,却一直提示: No symbol "i" in current context. 我愣了 ...

  9. Base64正反编码

    public class Base64 { private static char[] base64EncodeChars = new char[] { 'A', 'B', 'C', 'D', 'E' ...

  10. 解决Ubuntu下Chrome浏览器网页中文字体混乱

    在Ubuntu下使用Chrome浏览器时碰到了网页中文字体混乱的现象: 黑体和楷体混杂,看起来非常不美观. 这是由于许多网页并没有指定字体,然后浏览器将调用系统默认字体配置. 首先,安装文泉驿字体: ...