最近在学习数据库理论,顺便把SQL学习一下,下面列出常用的SQL命令 (全部在MySQL上测试通过)。
1. 创建表
CREATE TABLE Student (Sno CHAR(5) NOT NULL UNIQUE, Sname CHAR(20), Ssex CHAR(2), Sage INT, Sdept CHAR(15));
CREATE TABLE course(Cno CHAR(5) NOT NULL UNIQUE, Cname CHAR(30), Cpno CHAR(5), Ccredit SMALLINT);
CREATE TABLE SC(Sno char(5) NOT NULL, Cno char(5) NOT NULL, Grade SMALLINT NOT NULL);
1.5 增加外键
mysql> ALTER TABLE course ADD CONSTRAINT fk_pno
-> FOREIGN KEY (Cpno)
-> REFERENCES course(Cno);
mysql> ALTER TABLE sc ADD CONSTRAINT fk_sno
-> FOREIGN KEY(Sno)
-> REFERENCES student(Sno);
mysql> ALTER TABLE sc ADD CONSTRAINT fk_cno
-> FOREIGN KEY(Cno)
-> REFERENCES Course(Cno);
2. 改变表
ALTER TABLE Student ADD Scome DATE;
ALTER TABLE Student MODIFY Sage SMALLINT;
3. 删除表
DROP TABLE Student
4. 插入信息
INSERT INTO Student VALUES ("95001", "李勇", "男", 20, "CS");
INSERT INTO Student VALUES ("95002", "刘晨", "女", 19, "IS");
INSERT INTO Student VALUES ("95003", "王名", "女", 18, "MA");
INSERT INTO Student VALUES ("95004", "张立", "男", 19, "IS");
INSERT INTO course VALUES ("6", "数据处理", NULL, 2);
INSERT INTO courses VALUES ("2", "数学", NULL, 2);
INSERT INTO course VALUES ("7", "PASCAL语言", "6", 4);
INSERT INTO course VALUES ("4", "操作系统", "6", 3);
INSERT INTO course VALUES ("5", "数据结构", "7", 3);
INSERT INTO course VALUES ("1", "数据库", "5", 4);
INSERT INTO course VALUES ("3", "信息系统", "1", 4);
INSERT INTO sc VALUES("95001", "1", 92);
INSERT INTO sc VALUES("95001", "2", 85);
INSERT INTO sc VALUES("95001", "3", 88);
INSERT INTO sc VALUES("95002", "2", 90);
INSERT INTO sc VALUES("95002", "3", 80);
5. 建立索引
CREATE UNIQUE INDEX Stusno ON Student(Sno);
CREATE UNIQUE INDEX Coucno ON course(Cno);
CREATE UNIQUE INDEX SCno ON SC(Sno ASC, Cno DESC);
6. 删除索引
DROP INDEX Stusno on Student;
7. 查询
7.1 单表查询
7.1.1 对列
select Sno, Sname from student;
select Sno, 2009-Sage from student;
select * from student;
select Sname NAME, 'Year of Birth:' BIRTH, 2009-Sage BIRTHDAY, LOWER(Sdept) DEPARTMENT from student;
7.1.2 对行
select Sname from student where Sdept='CS';
select Sname, Sage from student where Sage<20;
select * from SC where grade>85;
select Sname, Sdept, Sage from student where Sage between 20 and 23;
select Sname, Ssex from student where Sdept not in ('CS', 'MA');
select * from student where Sname like '刘%';
select * from course where Cpno is NULL;
select Sname, Ssex from student where Sdept='IS' and Sage=19;
7.1.3 排序
select * from student Order by Sdept, Sage DESC;
7.1.4 使用函数
select COUNT(*) from student;
select COUNT(DISTINCT Sno) from SC;
select AVG(GRADE) from SC where Cno='1';
select MAX(GRADE) from SC where Cno='2';
7.1.5 对查询结果分组
select Cno, COUNT(Sno) from SC Group by Cno;
select Cno, COUNT(Sno) from SC Group by Cno having COUNT(*) <2;
7.2 连接查询
7.2.1 等值非等值查询
select student.*, SC.* from student, sc where student.Sno=sc.Sno;
7.2.2 自身连接
select first.Cno, Second.Cpno from course first, course second where first.Cpno=second.Cno and second.Cpno is not null;
7.2.3 外连接
select Student.Sno, Sname, Ssex, Sage, Sdept, Cno, Grade from Student left join sc on sc.Sno=student.Sno;
7.3 复合条件连接
select Student.Sno, Sname,Cname, Grade from student, course, sc where sc.Sno=Student.Sno AND sc.Cno=Course.Cno;
分享到:
相关推荐
### SQL常用命令使用方法 #### 一、数据记录筛选(SELECT) 在数据库操作中,`SELECT`命令是最常用的查询语句之一,它用于从数据库表中检索数据。 1. **基本查询**: - `SELECT * FROM 表名 WHERE 条件 ORDER BY...
SQL常用命令使用方法
本篇文章将深入探讨SQL中的常用命令,帮助你更好地理解和应用这些命令。 1. **SELECT语句**:这是SQL中最基本也最重要的命令,用于从数据库中选择数据。例如,`SELECT * FROM table_name` 会返回表`table_name`中的...
SQL Server 常用命令 SQL Server 是一种关系数据库管理系统,具有强大的数据存储和处理能力。为了更好地使用 SQL Server,我们需要了解一些常用的命令,这些命令可以帮助我们快速地进行数据操作和管理。下面我们将...
根据提供的文件信息,我们可以整理出一系列关于SQL Server 2000中T-SQL语言的常用命令和操作方法。下面将详细介绍这些知识点: ### 1. 数据查询(Select Statements) #### 1.1 基本查询 - **选择所有列**: - `...
### SQL注入常用命令详解 #### 一、SQL注入概述 SQL注入是一种常见的Web应用程序安全漏洞,攻击者通过在输入字段中插入恶意SQL语句来控制数据库执行非授权操作。为了帮助初学者更好地理解和掌握SQL注入的基本原理及...
6. **其他常用命令**: - `ALTER DATABASE`:用于修改数据库的属性,如开启或关闭归档模式。 - `ALTER TABLESPACE`:修改表空间的属性,如增加或减少数据文件。 - `SELECT`:查询数据,是最常用的SQL命令之一。 ...
本资源“SQL命令和常用语句大全【经典】”涵盖了创建数据库、修改数据库、删除数据库以及单表查询和多表查询等关键知识点。以下是这些主题的详细说明: 1. **创建数据库**: 使用`CREATE DATABASE`语句可以创建新...
3. **限制结果集**: - `SELECT TOP 10 * FROM 表名 WHERE 条件 ORDER BY 字段 [DESC]` - 示例:`SELECT TOP 10 * FROM 学生表 WHERE 性别 = '男' ORDER BY 年龄 DESC` 4. **多值匹配**: - `SELECT * FROM 表名...
### SQL Plus常用命令详解 #### 一、简介 SQL Plus作为与Oracle数据库进行交互的客户端工具之一,在数据库管理和日常维护工作中扮演着重要角色。通过SQL Plus,用户不仅可以执行标准的SQL查询,还可以利用一系列...
根据提供的文件信息,本文将重点围绕SQL数据库命令集进行详细阐述,并不会涉及JavaWeb或Servlet相关内容,以确保信息的相关性和专业性。 ### SQL数据库的命令集 #### 引言 SQL(Structured Query Language,结构化...
### SQL常用命令详解 #### 一、查询命令 在SQL中,`SELECT`语句用于从数据库表中选取数据。可以选取单个列或多个列。 1. **基础查询** - `SELECT * FROM 表名 WHERE 条件 ORDER BY 字段 [DESC]` - **示例**: `...
### SQL Plus常用命令详解 #### 一、概览 SQL Plus是Oracle数据库系统中的一个标准工具,用于执行SQL语句和脚本,以及管理数据库。它提供了丰富的命令集,不仅支持基本的SQL查询,还具备高级功能,如脚本编写、...
SQL Server 2000 常用命令、语法使用方法 SQL Server 2000 是一个功能强大且广泛使用的关系数据库管理系统,本文将对 SQL Server 2000 的常用命令和语法使用方法进行详细的介绍。 一、数据记录筛选 在 SQL Server...
1. **SELECT**:用于从数据库中选择数据,是最常用的SQL命令。可以指定字段、条件、排序方式等,例如`SELECT * FROM 表名 WHERE 条件`,这将返回满足条件的所有记录。 2. **INSERT INTO**:用于向数据库中插入新的...
### MySQL常用命令集详解 #### 一、连接与管理数据库 **1. 连接MySQL服务器** - **命令格式**: ```bash mysql -h localhost -u root -p ``` - **解释**:通过指定主机(`-h`),用户名(`-u`)和密码(`-p`...
SQL命令是用集合,常用的sql命令使用,举例说明。word文档格式。
在IT领域,尤其是在数据库管理与...以上命令集为DB2数据库的管理和维护提供了强大的工具,熟练掌握它们对于任何DBA或数据库开发人员都是必不可少的。通过合理运用这些命令,可以显著提高数据库的性能、可靠性和安全性。