一、数据库:
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. MySQL的共享锁阻塞会话案例浅析输入日志标题

        这是问题是一个网友遇到的问题:一个UPDATE语句产生的共享锁阻塞了其他会话的案例,对于这个案例,我进一步分析.总结和衍化了相关问题.下面分析如有不对的地方,敬请指正.下面是初始化环境和数据的 ...

  2. DC4靶机

    DC-4靶机渗透 扫描内网机器,看到143是开启的,那么ok了,确定了目标主机的地址. 对其进行进一步的端口扫描,80,22端口都是开放的. 访问具体网页,进行爆破,分别为admin,happy. 里 ...

  3. Excel文件内容无法显示解决方案

    问题描述: 双击打开一个excel文件,内容无显示,只能通过"打开"选项,选择文件,才能正常显示. 解决方法一: 1.[win+R]打开快速访问,输入"regedit&q ...

  4. Oracle 11G RAC11.2.0.4 + Redhat7.3安装手册

    安装思路: 1.安装两台redhat7 linux系统 2.网络配置(双网卡,public,vip,private,scan) 3.存储配置(内存配置,ASM共享存储:6块5G共享盘udev,根目录留 ...

  5. 1-浅谈 python变量

    浅谈 python变量 python变量概念 程序执行的过程中,很多数据都在变化的过程,我们需要一种机制把这种变化体现出来,变量是我们记录这种变化的方式. python以及其它各种语言的变量 ,其作用 ...

  6. 日志分析平台ELK之日志收集器logstash常用插件配置

    前文我们了解了logstash的工作流程以及基本的收集日志相关配置,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13761906.html:今天我们来了解下l ...

  7. 第二次UML作业

    博客班级 https://edu.cnblogs.com/campus/fzzcxy/2018SE1/ 作业要求 https://edu.cnblogs.com/campus/fzzcxy/2018S ...

  8. matlab find函数使用语法

    find 找到非零元素的索引和值 语法: 1. ind = find(X) 2. ind = find(X, k) 3. ind = find(X, k, 'first') 4. ind = find ...

  9. Navicat连接MySQL报错-2059

    解释原因:据说,mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 解决问题方法有两种,一种是 ...

  10. Web前后端:如何分离,如何解耦?

    摘要:在本文中我们一起来探讨一下为什么要在软件开发中进行前后端的分离,如何做到前后端分离,如何解耦. 简单地说,就是要把复杂的问题简单化,把一个从0到N的问题转化为N个0到1的问题.另一个相近的说法就 ...