SQLServer 学习笔记之超详细基础SQL语句 Part 1

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
简介: SQLServer 学习笔记之超详细基础SQL语句 Part 1

Sqlserver学习笔记


 

1创建数据库

格式:

CREATEDATABASEdatabase_name 

ONPRIMARY(在组文件组中指定文件)

(

 name = ’数据库文件逻辑名(在创建数据库后执行的T-SQL语句中引用文件的名称),

 fileName = ’数据库文件物理文件名(含有具体位置,即具体路径(即存储位置)),

 size =文件初始大小,

 maxsize =文件可以增长到的最大大小(可以为:unlimited,

 fileGrowth =文件的增长增量

)

示例:

--建立名为stud的数据库

CREATEDATABASE stud

ONPRIMARY

(

   name='stud',

   fileName='E:\数据库\stud.mdf',

   size= 50MB,

   maxsize= 100MB,

   fileGrowth= 10%

)

 

2增加数据库文件容量(文件初始大小

格式:

ALTERDATABASEdatabase_name

MODIFYFILE(这里是指修改文件属性)

(

 name = file_name(这里使用的是逻辑名称),

 size = newsize(这里的值只能比原来的大)

)

示例:

--修改数据库stud容量的大小[只能比原来大,就是说只能增大]

ALTERDATABASE stud

MODIFYFILE

(

   name='stud',

   size= 51MB

)

 

3减小数据库容量

格式:

DBCCSHRINKDATABASE’database_name’,收缩比)

示例:

--收缩数据库stud的容量,收缩比为1

DBCCSHRINKDATABASE('stud', 1)

 

4更改数据库名称(文件逻辑名是不会因此改变的)

格式:

EXECSP_RENAMEDB‘oldname’’newname’

 

示例:

--把数据库stud名称改为student

EXECSP_RENAMEDB'stud','student'

 

5删除数据库

格式:

DROPDATABASEdatabase_name

示例:

--删除以上数据库student[注意:数据库名没有用''号]

DROPDATABASE student

 

6创建表

示例:

--在数据库student中建立一张stud_TABLE[注意先在可视化界面中选定数据库student

CREATETABLE stud_TABLE

(

  学号    INT         PRIMARYKEYIDENTITY,

  名称    CHAR(6)     NOTNULL,

  专业方向VARCHAR(10)NOTNULL,

  系部代码CHAR(2)     NOTNULL,

  备注    VARCHAR(5)

)

 

以上identity是指把其列为标识。

 

6查看表信息

格式:

EXECSP_HELPTABLE_name(表名)

示例:

--查看表stud_table的各种信息

EXECSP_HELP stud_TABLE

 

7使用T-SQL语句来修改表结构。

7.1重命名表

格式:

EXECSP_RENAME‘old_TABLE_name’, ‘new_TABLE_name’

示例:

--把表stud_table改名为stud_table1

EXECSP_RENAME'stud_TABLE','stud_table1'

 

7.2重命名列

格式:EXECSP_RENAME‘TABLE name.旧列名’,’新列名

示例:

--把表stud_table1中的"备注"列改名为"其它"

EXECSP_RENAME'stud_table1.备注','其它'

 

7.3删除表里面的所有数据

格式:

TRUNCATETABLE表名

示例:

TRUNCATETABLE table1

 

8创建主键,外键约束

8.1创建主键约束

格式:

ALTERTABLE表名

ADDCONSTRAINT pk

PRIMARYKEYCLUSTERED(列名)

以上CLUSTERED(列名):选择要设置主键的列名,pk是主键的名称,以下同理

 

8.2创建外键约束

格式:

ALTER TABLE表名

ADD CONSTRAINTfk

FOREIGN KEY(列名)

REFERENCES表名(列名)

示例:

--新建表table1

CREATETABLE table1

(

   id INTNOTNULL,

   nameCHAR(20)

)

 

--在表中添加数据[右击表\打开表\手动输入]

--删除表table1中的全部数据[不可撤销]

TRUNCATETABLE table1

 

--给表table1添加主键约束,选择列为id,把表table2中的id列作为table1的外键约束

CREATETABLE table2

(

   id INTNOTNULL,

   nameCHAR(20)

)

 

--为表table1添加主键约束

ALTERTABLE table1

ADDCONSTRAINT pk_key

PRIMARYKEYCLUSTERED(id)

 

--为表table2添加主键约束[注意两个表中的主键名不能一样]

ALTERTABLE table2

ADDCONSTRAINT pk_key2

PRIMARYKEYCLUSTERED(id)

 

--为表table1添加外键约束[必须先在被参照表中设置主键才能执行以下语句]

ALTERTABLE table1

ADDCONSTRAINT fk_key

FOREIGNKEY(id)REFERENCES table2(id)

 

8创建主键,外键约束

8.1创建主键约束

格式:

ALTERTABLE表名

ADDCONSTRAINT pk

PRIMARYKEYCLUSTERED(列名)

以上CLUSTERED(列名):选择要设置主键的列名,pk是主键的名称,以下同理

 

8.2创建外键约束

格式:

ALTER TABLE表名

ADD CONSTRAINTfk

FOREIGN KEY(列名)

REFERENCES表名(列名)

示例:

--新建表table1

CREATETABLE table1

(

   id INTNOTNULL,

   nameCHAR(20)

)

 

--在表中添加数据[右击表\打开表\手动输入]

--删除表table1中的全部数据[不可撤销]

TRUNCATETABLE table1

 

--给表table1添加主键约束,选择列为id,把表table2中的id列作为table1的外键约束

CREATETABLE table2

(

   id INTNOTNULL,

   nameCHAR(20)

)

 

--为表table1添加主键约束

ALTERTABLE table1

ADDCONSTRAINT pk_key

PRIMARYKEYCLUSTERED(id)

 

--为表table2添加主键约束[注意两个表中的主键名不能一样]

ALTERTABLE table2

ADDCONSTRAINT pk_key2

PRIMARYKEYCLUSTERED(id)

 

--为表table1添加外键约束[必须先在被参照表中设置主键才能执行以下语句]

ALTERTABLE table1

ADDCONSTRAINT fk_key

FOREIGNKEY(id)REFERENCES table2(id)

 

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
4月前
|
SQL 数据库
执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)之解决方案
执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)之解决方案
746 0
|
6月前
|
SQL 运维 监控
SQL Server 运维常用sql语句(二)
SQL Server 运维常用sql语句(二)
60 3
|
6月前
|
SQL XML 运维
SQL Server 运维常用sql语句(三)
SQL Server 运维常用sql语句(三)
56 1
|
6月前
|
Java 应用服务中间件 Maven
从零到英雄:一步步构建你的首个 JSF 应用程序,揭开 JavaServer Faces 的神秘面纱
【8月更文挑战第31天】JavaServer Faces (JSF) 是一种强大的 Java EE 标准,用于构建企业级 Web 应用。它提供了丰富的组件库和声明式页面描述语言 Facelets,便于开发者快速开发功能完善且易于维护的 Web 应用。本文将指导你从零开始构建一个简单的 JSF 应用,包括环境搭建、依赖配置、Managed Bean 编写及 Facelets 页面设计。
135 0
|
6月前
|
SQL 关系型数据库 MySQL
【超全整理】SQL日期与时间函数大汇总会:MySQL与SQL Server双轨对比教学,助你轻松搞定时间数据处理难题!
【8月更文挑战第31天】本文介绍了在不同SQL数据库系统(如MySQL、SQL Server、Oracle)中常用的日期与时间函数,包括DATE、NOW()、EXTRACT()、DATE_ADD()、TIMESTAMPDIFF()及日期格式化等,并提供了具体示例。通过对比这些函数在各系统中的使用方法,帮助开发者更高效地处理日期时间数据,满足多种应用场景需求。
809 0
|
6月前
|
SQL 关系型数据库 MySQL
SQL Server、MySQL、PostgreSQL:主流数据库SQL语法异同比较——深入探讨数据类型、分页查询、表创建与数据插入、函数和索引等关键语法差异,为跨数据库开发提供实用指导
【8月更文挑战第31天】SQL Server、MySQL和PostgreSQL是当今最流行的关系型数据库管理系统,均使用SQL作为查询语言,但在语法和功能实现上存在差异。本文将比较它们在数据类型、分页查询、创建和插入数据以及函数和索引等方面的异同,帮助开发者更好地理解和使用这些数据库。尽管它们共用SQL语言,但每个系统都有独特的语法规则,了解这些差异有助于提升开发效率和项目成功率。
746 0
|
5月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
7月前
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
189 13
|
7月前
|
SQL
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
114 9

热门文章

最新文章