SQL实战:创建与修改表、数据操作及优化
需积分: 9 107 浏览量
更新于2024-09-08
收藏 2KB TXT 举报
本文档提供了一份关于SQL语句的基础教程,涵盖了创建表、管理表结构以及数据操作等常见操作,适合初学者学习和参考。代码示例实用性强,易于理解和应用。
在SQL(Structured Query Language)中,创建表是数据库管理的基础。例如,创建一个名为`[]`的表,可以使用以下语句:
```sql
CREATE TABLE []
(
[字段1] INT IDENTITY(1,1) PRIMARY KEY,
[字段2] NVARCHAR(50) DEFAULT '默认值' NULL,
[字段3] NTEXT NULL,
[字段4] DATETIME,
[字段5] MONEY NULL,
[字段6] DECIMAL(12,4) DEFAULT 0,
[字段7] IMAGE NULL
)
```
这里的`IDENTITY(1,1)`用于设置自动增长的主键,`NULL`表示允许为空,`DEFAULT`用于设置默认值。
删除表则使用`DROP TABLE`命令,例如:
```sql
DROP TABLE []
```
插入数据使用`INSERT INTO`语句:
```sql
INSERT INTO [](字段1, 字段2) VALUES (100, '51WINDOWS.NET')
```
删除数据使用`DELETE FROM`:
```sql
DELETE FROM [] WHERE [字段1] > 100
```
更新数据使用`UPDATE`:
```sql
UPDATE [] SET [字段1] = 200, [字段2] = '51WINDOWS.NET' WHERE [字段3] = 'HAIWA'
```
修改表结构包括添加、删除和更改列。添加列:
```sql
ALTER TABLE [] ADD [新字段] NVARCHAR(50) NULL
```
删除列:
```sql
ALTER TABLE [] DROP COLUMN [字段名]
```
更改列的数据类型(Access环境下):
```sql
ALTER TABLE [] ALTER COLUMN [字段名] NVARCHAR(50) NULL
```
重命名表或列使用`sp_rename`系统存储过程:
```sql
EXEC sp_rename '[旧名称]', '[新名称]', 'OBJECT'
```
添加约束,如检查约束(确保字段值小于某个日期):
```sql
ALTER TABLE [] ADD CONSTRAINT 约束名 CHECK ([字段名] <= '2000-1-1')
```
删除约束:
```sql
ALTER TABLE [] DROP CONSTRAINT 约束名
```
设置默认值:
```sql
ALTER TABLE [] ADD CONSTRAINT 默认值名 DEFAULT '51WINDOWS.NET' FOR [字段名]
```
移除默认值:
```sql
ALTER TABLE [] DROP CONSTRAINT 默认值名
```
数据库维护方面,可以进行事务回滚(不记录日志):
```sql
ROLLBACK TRANSACTION [事务名] WITH NO_LOG
```
备份日志(不记录日志):
```sql
BACKUP LOG [数据库名] WITH NO_LOG
```
收缩数据库:
```sql
DBCC SHRINKDATABASE ([数据库名])
```
设置数据库选项,例如开启自动收缩:
```sql
EXEC sp_dboption '数据库名', 'autoshrink', 'true'
```
此外,还提供了自定义子程序示例,如添加列和修改列类型,这些可以帮助自动化数据库管理。
以上就是SQL中的基本操作,包括创建表、管理表结构、操作数据及维护数据库。掌握这些基础操作对于日常的数据库管理工作至关重要。
2014-12-30 上传
2010-05-09 上传
2016-12-09 上传
2022-06-01 上传
2009-01-05 上传
2021-09-19 上传
2011-12-28 上传
chaseing_
- 粉丝: 7
- 资源: 17
最新资源
- Java集合ArrayList实现字符串管理及效果展示
- 实现2D3D相机拾取射线的关键技术
- LiveLy-公寓管理门户:创新体验与技术实现
- 易语言打造的快捷禁止程序运行小工具
- Microgateway核心:实现配置和插件的主端口转发
- 掌握Java基本操作:增删查改入门代码详解
- Apache Tomcat 7.0.109 Windows版下载指南
- Qt实现文件系统浏览器界面设计与功能开发
- ReactJS新手实验:搭建与运行教程
- 探索生成艺术:几个月创意Processing实验
- Django框架下Cisco IOx平台实战开发案例源码解析
- 在Linux环境下配置Java版VTK开发环境
- 29街网上城市公司网站系统v1.0:企业建站全面解决方案
- WordPress CMB2插件的Suggest字段类型使用教程
- TCP协议实现的Java桌面聊天客户端应用
- ANR-WatchDog: 检测Android应用无响应并报告异常