sql server DDL语句 建立数据库 定义表 修改字段等

一、数据库:
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

原文地址:https://www.cnblogs.com/tuanz/p/11162163.html

时间: 2024-08-26 10:40:43

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

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

1 判断数据库是否存在if exists (select * from sys.databases where name = '数据库名')    drop database [数据库名] 2 判断表是否存在if exists (select * from sysobjects where id = object_id(N'[表名]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)    drop table [表名] 3 判断存储过程是否存在if ex

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

SQL SERVER 判断是否存在数据库.表.列.视图 --1. 判断数据库是否存在 IF EXISTS (SELECT * FROM SYS.DATABASES WHERE NAME = '数据库名') DROP DATABASE [数据库名] --2. 判断表是否存在 IF EXISTS (SELECT * FROM SYSOBJECTS WHERE ID = OBJECT_ID(N'[表名]') AND OBJECTPROPERTY(ID, N'ISUSERTABLE') = 1) PRI

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

/* ------sqlserver 2008 删除某数据库所有表-------- */ declare @tname varchar(8000) set @tname='' select @[email protected] + '[' + Name + '],' from sysobjects where xtype='U' select @tname='drop table ' + left(@tname,len(@tname)-1) exec(@tname) 删除 Email的全部数据

跟我一起学extjs5(28--加入模块和菜单定义[1建立数据库和表])

跟我一起学extjs5(28--加入模块和菜单定义[1建立数据库和表]) 下面我们开始进入自定义系统的设计和各个组成部分的搭建工作. 首先在sql server中建立数据库,这里的数据的名字我定义为extjs5,然后需要建立模块的定义表,这个表里将存着系统中所有模块的定义信息.为了能有个直观的前后台的互动,先把模块和菜单这二个部分加进去,可以把菜单数据组织好后发送到前台去进行展示. 由于系统中的模块很多,需要分类,因此在先要设计一个"模块分组"的表,对于菜单也是一样,需要有一个&quo

SQL Server DDL 触发器(Trigger)-- 创建数据库级别的DDL触发器

SQL Server DDL 触发器(Trigger)-- 创建数据库级别的DDL触发器 以下针对某个数据库在创建数据表时调用触发器,并将创建该数据表的用户账户写入到Windows的Event Log中. CREATE TRIGGER reminder ON DATABASE FOR CREATE_TABLE AS DECLARE @str NVARCHAR(100) SET @str=suser_sname() + N'create a new table' RAISERROR(@str,10

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

近来发现数据库过大,空间不足,因此打算将数据库的数据进行全面的清理,但表非常多,一张一张的清空,实在麻烦,因此就想利用SQL语句一次清空所有数据.找到了三种方法进行清空.使用的数据库为MS SQL SERVER.1.搜索出所有表名,构造为一条SQL语句 declare @trun_name varchar(8000)set @trun_name='' select @trun_name=@trun_name + 'truncate table ' + [name] + ' ' from syso

sql server快速删除整个数据库表和存储过程

情况:在远程数据库删除表执行太慢,表过多,数据库无权删除 结果:保留空数据库 方法:利用sql语句,查询网络文摘解决. 说明: 有些有约束,不能直接delete,需要先删除所有约束,语句: DECLARE c1 cursor for select 'alter table ['+ object_name(parent_obj) + '] drop constraint ['+name+']; ' from sysobjects where xtype = 'F' open c1 declare

使用SQL语句建立数据库

使用SQL语句建立数据库 创建一个数据库有三个名称,第一个是Create后面的数据库名称,第二个是Name的逻辑名称,第三个是Filename的物理名称. A. 创建未指定文件的数据库 Create Database TestDB --TestDB 数据库名称--DBMS里用的是这个名 B. 创建指定数据和事务日志文件的数据库 Create Database TestDB --TestDB 数据库名称--DBMS里用的是这个名 On --On 代表数据文件组( --主要数据文件Name ='Te

自己整理的常用SQL Server 2005 语句、

--创建数据库 create database 数据库 go --打开数据库 use 数据库 --删除数据库 drop database 数据库 Go --创建数据表 create table 数据表 ( 列名1  数据类型1  限定条件(是否是主外键.是否为空), 列名2  数据类型2  限定条件(是否是主外键.是否为空) )go --删除数据表 drop table 数据表 --插入数据 --插入单行数据 insert  into 表名 [(列名1,列名2 )]  values  (‘数据1