SQL基础语句详解:创建、删除与修改数据库及表
需积分: 1 90 浏览量
更新于2024-09-16
收藏 12KB TXT 举报
"SQL语句的学习"
SQL(Structured Query Language)是一种用于管理关系数据库的标准语言,包括创建、查询、更新和删除数据库中的数据。本资源主要涵盖了SQL的基本操作,旨在帮助学习者更好地理解和掌握SQL。
1. 数据库创建与删除:
- 创建数据库:在SQL Server中,可以使用`CREATE DATABASE`语句来创建数据库。例如,如果要创建名为`database-name`的数据库,可以执行`IF NOT EXISTS (SELECT * FROM sys.databases WHERE name='databaseName') DROP DATABASE databaseName GO CREATE DATABASE database-name`。
- 删除数据库:`DROP DATABASE`语句用于删除数据库,如`DROP DATABASE dbname`,但需要注意,数据库被删除后,其中的数据将无法恢复。
2. 数据备份与设备管理:
- 备份数据库:在SQL Server中,可以使用`BACKUP DATABASE`语句配合`sp_addumpdevice`存储过程进行数据库备份。例如,创建一个名为`testBack`的备份设备并备份`pubs`数据库,命令如下:
```
USE master
EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
BACKUP DATABASE pubs TO testBack
```
3. 表的创建与删除:
- 创建表:使用`CREATE TABLE`语句定义表结构,例如创建一个名为`tabname`的表,包含列`col1`和`col2`:
```
CREATE TABLE tabname (
col1 type1 [NOT NULL] [PRIMARY KEY],
col2 type2 [NOT NULL]
)
```
- 删除表:`DROP TABLE`语句用于删除表,例如`DROP TABLE tabname`。
4. 修改表结构:
- 添加列:使用`ALTER TABLE`语句可以向现有表中添加列,如`ALTER TABLE tabname ADD column coltype`。
- 删除列:同样通过`ALTER TABLE`,如`ALTER TABLE tabname DROP COLUMN column`。
- 更改列属性:例如,将列`col`从非空变为可空,或更改数据类型,需指定完整列定义,如`ALTER TABLE tabname ALTER COLUMN col type`。
5. 主键与索引:
- 创建主键:`ALTER TABLE tabname ADD PRIMARY KEY (col)`为指定列`col`创建主键约束。
- 删除主键:`ALTER TABLE tabname DROP PRIMARY KEY`移除主键约束。
- 创建索引:`CREATE [UNIQUE] INDEX idxname ON tabname (col...)`创建名为`idxname`的索引,`UNIQUE`表示唯一索引。
- 删除索引:`DROP INDEX idxname ON tabname`删除索引`idxname`。
6. 视图的创建与删除:
- 创建视图:`CREATE VIEW viewname AS SELECT statement`定义视图,如`CREATE VIEW viewname AS SELECT * FROM table1`。
- 删除视图:`DROP VIEW viewname`移除视图。
7. 查询、插入、删除与更新:
- 查询:`SELECT * FROM table1`返回表`table1`的所有数据。
- 插入:`INSERT INTO table1 (field1, field2) VALUES (value1, value2)`向表`table1`中插入一行数据。
- 删除:`DELETE FROM table1 WHERE condition`根据条件删除满足条件的行。
- 更新:`UPDATE table1 SET field1=value1 WHERE condition`修改表`table1`中符合条件的行的字段值。
这些基本的SQL语句是数据库管理的基础,熟练掌握它们能够帮助你在实际工作中高效地处理数据。通过不断的练习和实践,你可以更加精通SQL,实现更复杂的数据库操作。
2024-05-05 上传
2011-05-29 上传
2010-10-10 上传
2011-09-09 上传
2017-01-15 上传
ca2604060219
- 粉丝: 0
- 资源: 9
最新资源
- 火炬连体网络在MNIST的2D嵌入实现示例
- Angular插件增强Application Insights JavaScript SDK功能
- 实时三维重建:InfiniTAM的ros驱动应用
- Spring与Mybatis整合的配置与实践
- Vozy前端技术测试深入体验与模板参考
- React应用实现语音转文字功能介绍
- PHPMailer-6.6.4: PHP邮件收发类库的详细介绍
- Felineboard:为猫主人设计的交互式仪表板
- PGRFileManager:功能强大的开源Ajax文件管理器
- Pytest-Html定制测试报告与源代码封装教程
- Angular开发与部署指南:从创建到测试
- BASIC-BINARY-IPC系统:进程间通信的非阻塞接口
- LTK3D: Common Lisp中的基础3D图形实现
- Timer-Counter-Lister:官方源代码及更新发布
- Galaxia REST API:面向地球问题的解决方案
- Node.js模块:随机动物实例教程与源码解析