创建基本表
create table <表名> (<列名><数据类型>[列级完整性约束条件],
<列名><数据类型>[列级完整性约束条件],
......... ,
[<表级完整性约束条件>]);
例:
create table student ( Sno char(5) not null unique,
Sname char(20) unique,
Ssex char(1),
Sage int,
Sdept char(15));
SQL是Structured Query Language的缩写,是用于管理关系数据库的标准语言。本文主要涵盖了SQL的基本操作,包括创建、修改和删除数据库表以及数据查询等关键知识点。
1. 创建基本表:
使用`CREATE TABLE`语句可以创建一个新的数据库表。例如:
```sql
create table student (
Sno char(5) not null unique,
Sname char(20) unique,
Ssex char(1),
Sage int,
Sdept char(15)
);
```
在这个例子中,`Sno`和`Sname`字段都有完整性约束条件,`Sno`是不可为空并且唯一,`Sname`也是唯一的。`not null`表示该列不允许为空,`unique`则表示该列的值必须是唯一的。
2. 修改基本表:
使用`ALTER TABLE`语句可以修改已有表的结构。如:
```sql
alter table student add Scome date;
alter table student modify Sage smallint;
alter table student drop unique(Sname);
```
这些语句分别添加了新列`Scome`,修改了`Sage`的数据类型,以及删除了`Sname`的唯一性约束。
3. 删除属性列:
SQL标准并不直接支持删除列,通常需要通过创建新表并转移数据来实现。
4. 删除基本表:
使用`DROP TABLE`语句可以彻底删除一个表,例如:
```sql
drop table student;
```
5. 建立与删除索引:
索引可以加速查询速度。创建索引使用`CREATE INDEX`,删除使用`DROP INDEX`:
```sql
create unique index studentIndex on student (sno);
drop index studentIndex;
```
`UNIQUE`表示索引的唯一性,`CLUSTER`则用于创建聚簇索引,改变数据的物理存储顺序。
6. 数据查询:
`SELECT`语句是SQL的核心,用于从表中检索数据。例如:
```sql
select distinct sname as name, sno from student order by sno desc;
```
这里`DISTINCT`用于去除重复的`Sname`,`ORDER BY`用于按`Sno`降序排列结果。
7. 其他查询选项:
- `WHERE`子句用于设置查询条件。
- `GROUP BY`用于对数据进行分组。
- `HAVING`用于在`GROUP BY`后的条件过滤。
- `LIMIT`用于限制返回的行数,如`LIMIT 5`返回前5行,`LIMIT 5,10`返回第6到第15行。
- `INTO OUTFILE`可以将查询结果写入文件。
以上是SQL基础操作的主要内容,掌握这些基本操作是理解和使用SQL的基础,对于日常的数据管理与分析工作至关重要。