一、数据库:
1.建立数据库

create database 数据库名;
use 数据库名;

create database exp1;
use exp1;

mysql同样

2.删除数据库

drop database 数据库名;
drop database exp1;

mysql同样

二、表:
1.创建表

create table 表名(
    列名1 类型1 [约束],
    列名2 类型2 [约束],
    ...
);

create table Student(
    Sno Char(7) primary key,--学号  
    Sname Char(10) not null,--学生姓名
    Ssex Char(2) not null,--性别
    Sage Smallint,--年龄
    Clno Char(5) not null--学生所在班级号
);

mysql同样

2.删除表

drop table 表名;

drop table test;

mysql同样  不过都尽量少写 威力太大

3.修改表

3.1修改表名

exec sp_rename '旧表名','新表名'

exec sp_rename 'test', 'test1'

mysql不一样

alter table 旧表名 rename to 新表名;

alter table user1 rename to user10;

3.2添加字段

alter table 表名 add 字段名 字段描述;

alter table Student add Birthday Datetime;

mysql一样

3.3删除字段

alter table 表名 drop column 字段名;--必须加column 不加指的是删除约束

alter table Student drop column Class;

mysql不一样 不用加column

alter table 表名 drop 字段名;

alter table user drop pwd;

3.4修改字段名

sp_rename '表名.旧字段名','新字段名'

sp_rename 'Student.Class','clazz';

mysql不一样

alter table 表名 change 字段名称 新字段描述; -- 可以顺便改描述

alter table user change password pwd varchar(10);

3.5修改字段描述

alter table 表名 alter column 字段名 新描述

alter table Student alter column Class char(10);

mysql不一样

alter table 表名 modify 字段名称 字段类型 [约束];

alter table user modify pwd int;  -- 不能改名称 只能改描述

三、索引

1.添加索引

create [unique] [clustered] index 索引名 on 表名(字段名 [asc],字段名名 [desc]);  --asc升序  desc降序   默认升序

create unique index Stusno on Student(Sno);--student表按学号升序建立唯一索引

create unique index SCno on Cj(Sno asc,Cno desc);--Cj表按学号升序 课程号降序建立唯一索引

create clustered index CjGde on Cj(Grade desc);--建立聚簇索引  (聚集索引)

-- sql server可视化工具建索引 类型改成索引即可  建立聚簇索引将‘创建为聚集的’改为‘是’即可

2.重命名索引

exec sp_rename '表名.索引名','新索引名'

exec sp_rename 'Student.Stusno','Stuno';

3.删除索引

drop index 表名.索引名

drop index Student.Stuno;
---------------------

原文:https://blog.csdn.net/hza419763578/article/details/83040061

sql server DDL语句 建立数据库 定义表 修改字段等的更多相关文章

  1. SQL SERVER 判断是否存在数据库、表、列、视图

    SQL SERVER 判断是否存在数据库.表.列.视图 --1. 判断数据库是否存在 IF EXISTS (SELECT * FROM SYS.DATABASES WHERE NAME = '数据库名 ...

  2. sql server 2008 删除某数据库所有表

    /* ------sqlserver 2008 删除某数据库所有表-------- */ declare @tname varchar(8000) set @tname='' select @tnam ...

  3. sql server 判断是否存在数据库,表,列,视图

    1 判断数据库是否存在if exists (select * from sys.databases where name = '数据库名')    drop database [数据库名] 2 判断表 ...

  4. SQL语句判断数据库、表、字段是否存在

    from master..sysdatabases where name='TestDB')    print 'TestDB存在'else    print 'TestDB不存在' --判断表[Te ...

  5. 使用SQL语句清空数据库所有表的数据

    使用SQL语句清空数据库所有表的数据 近来发现数据库过大,空间不足,因此打算将数据库的数据进行全面的清理,但表非常多,一张一张的清空,实在麻烦,因此就想利用SQL语句一次清空所有数据.找到了三种方法进 ...

  6. 【转载】C#常用数据库Sqlserver通过SQL语句查询数据库以及表的大小

    在Sqlserver数据库中,一般我们查看数据库的大小可以通过查找到数据库文件来查看,但如果要查找数据表Table的大小的话,则不可通过此方法,在Sqlserver数据库中,提供了相应的SQL语句来查 ...

  7. mysql / pgsql 使用sql语句查询数据库所有表注释已经表字段注释

    mysql使用sql语句查询数据库所有表注释已经表字段注释(转载)   场景: 1. 要查询数据库 "mammothcode" 下所有表名以及表注释 /* 查询数据库 ‘mammo ...

  8. 【SQL Server高可用性】数据库复制:SQL Server 2008R2中通过数据库复制,把A表的数据复制到B表

    原文:[SQL Server高可用性]数据库复制:SQL Server 2008R2中通过数据库复制,把A表的数据复制到B表 经常在论坛中看到有人问数据同步的技术,如果只是同步少量的表,那么可以考虑使 ...

  9. SQL Server DDL触发器运用

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 基础知识(Rudimentary Knowledge) DDL运用场景(DDL Scene) ...

随机推荐

  1. 研究生杂谈-1粗粒度(Coarse-grained)VS细粒度(fine-grained)

    粒度似乎是根据项目模块划分的细致程度区分的,一个项目模块(或子模块)分得越多,每个模块(或子模块)越小,负责的工作越细,就说粒度越细,否则为粗粒度. 简而言之: 粗粒度:模块的功能太过于集中. 细粒度 ...

  2. 趣图:我说自己菜 vs 大佬说自己菜

      扩展阅读 一大波趣图:CSS的力量 趣图:嫁人就嫁程序员,大妈都懂的! 趣图:向客户介绍的产品VS实际开发的产品 如何准备校招技术面试+一只小菜鸟的面试之路 向Spring大佬低头--大量源码流出 ...

  3. Android控件Gridivew列数行间距设定

    常用属性 列数 android:numColumns="3" 行间距 android:verticalSpacing="8dp"

  4. Tomcat学习小记(二)

    1.Tomcat源码入口 生命周期统一管理接口:LifeCycle 实现LifeCycle接口的类:(idea快捷键:Ctrl+h) 多个组件共同实现LifeCycle接口 Tomcat启动入口分析: ...

  5. Azure 内容审查器之文本审查

    内容审查器 Azure 内容审查器也是一项认知服务.它支持对文本.图形.视频进行内容审核.可以过滤出某些不健康的内容,关键词.使你的网站内容符合当地的法律法规,提供更好的用户体验. 文本内容审核 其中 ...

  6. # mac使用homebrew安装jdk和tomcat

    homebrew安装jdk 前提是已经安装homebrew //直接命令行安装 brew cask install homebrew/cask-versions/adoptopenjdk8 homeb ...

  7. React学习小记--setState的同步与异步

    react中,state不能直接修改,而是需要使用setState()来对state进行修改,那什么时候是同步而什么时候是异步呢? 基础代码: setCounter = (v) => { thi ...

  8. 【编程开发】Python---列表

    ERROR:错误 waring:警告,还没到犯错的地步 print(r'\n')  r"字符串",字符串里的所有字符都不转义 str = "abcdef" 如果 ...

  9. P5911 [POI2004]PRZ (状态压缩dp+枚举子集)

    题目背景 一只队伍在爬山时碰到了雪崩,他们在逃跑时遇到了一座桥,他们要尽快的过桥. 题目描述 桥已经很旧了, 所以它不能承受太重的东西.任何时候队伍在桥上的人都不能超过一定的限制. 所以这只队伍过桥时 ...

  10. 【题解】CF413C Jeopardy!

    \(\color{blue}{Link}\) \(\text{Solution:}\) 首先,显然的策略是把一定不能翻倍的先加进来.继续考虑下一步操作. 考虑\(x,y\)两个可以翻倍的物品,且\(a ...