数据库操作指南:SQL语句精华

需积分: 0 0 下载量 32 浏览量 更新于2024-09-14 收藏 45KB DOC 举报
"SQL语句精要是数据库管理的核心工具,用于执行各种数据操作。以下是一些关键的SQL命令: 1. 创建数据库:`CREATE DATABASE database_name` 用于创建一个新的数据库,其中`database_name`是你想要的数据库名称。 2. 删除数据库:`DROP DATABASE database_name` 用来移除不再需要的数据库。 3. 创建表:`CREATE TABLE tb_name (id int PRIMARY KEY NOT NULL, ……)` 用于创建一个表格,`tb_name`是表名,`id`是列名,`int`是数据类型,`PRIMARY KEY`定义主键约束,`NOT NULL`表示该字段不允许为空。 4. 复制表结构:`CREATE TABLE tab_new LIKE tab_old` 可以创建一个与现有表`tab_old`具有相同结构的新表`tab_new`。 5. 删除表:`DROP TABLE tbname` 用于删除指定的表`tbname`。 6. 添加列:`ALTER TABLE tb_name ADD COLUMN col type` 可以在已存在的表`tb_name`中增加新的列`col`,`type`是新列的数据类型。 7. 添加主键:`ALTER TABLE tb_name ADD PRIMARY KEY (col)` 用于在表`tb_name`中设置`col`列为主键。 8. 删除主键:`ALTER TABLE tb_name DROP PRIMARY KEY (col)` 移除指定列的主键约束。 9. 创建索引:`CREATE [UNIQUE] INDEX index_name ON tb_name (col1, …..)` 为表`tb_name`的`col1`等列创建索引,`UNIQUE`可选,表示创建唯一索引。 10. 删除索引:`DROP INDEX index_name` 删除已存在的索引`index_name`。 11. 创建视图:`CREATE VIEW view_name AS SELECT statement;` 定义一个视图`view_name`,它基于`SELECT`语句的结果。 12. 删除视图:`DROP VIEW view_name` 用于移除已定义的视图`view_name`。 13. 查询操作: - `SELECT * FROM Ss WHERE ID = 1;` 选取`Ss`表中`ID`为1的所有列。 - `SELECT DISTINCT Name AS 姓名, ID FROM Ss ORDER BY ID DESC;` 获取`Ss`表中`Name`的唯一值,按`ID`降序排列。 - `UPDATE Ss SET Name = '邓胜利' WHERE ID = 1;` 更新`Ss`表中`ID`为1的`Name`字段。 - `INSERT INTO tb_name (col1, col2…) VALUES (v1, v2…);` 向`tb_name`表插入新行。 - `DELETE FROM Ss WHERE Id = 1 AND Name = 'hhs';` 删除满足条件的行。 - `SELECT * FROM tb_name ORDER BY filed1, filed2… [DESC];` 对表`tb_name`进行排序,`DESC`表示降序。 14. 统计函数: - `SELECT COUNT(*) AS total_count FROM tb_name;` 计算`tb_name`表中的行数。 - `SELECT SUM(), AVG(), MAX(), MIN()…` 应用于数值列,计算总和、平均值、最大值和最小值。 15. 子查询: - `SELECT a, b, c FROM a WHERE a IN (SELECT d FROM b);` 在查询`a`表时,使用子查询`SELECT d FROM b`来过滤结果。 - `SELECT TOP 10 * FROM Says WHERE UserName IN (SELECT ClientName FROM Relations WHERE HostName='小光头');` 选取`Says`表中满足子查询条件的前10条记录。 16. 集合操作: - `SELECT * FROM tb1 WHERE a NOT IN (v1, v2…);` 选取`tb1`表中`a`列值不在给定列表中的所有行。 - `DELETE FROM tb1 WHERE NOT EXISTS (SELECT * FROM tb2 WHERE tb1.field = tb2.field);` 删除`tb1`中不存在于`tb2`对应字段的行。 - `SELECT * FROM tb1 UNION SELECT * FROM tb2` 合并`tb1`和`tb2`的结果,去除重复行。 - `SELECT * FROM tb1 UNION ALL SELECT * FROM tb2` 合并`tb1`和`tb2`的结果,保留所有行,包括重复行。 掌握这些基本的SQL语句,可以有效地对数据库进行管理和查询,实现数据的增、删、改、查等操作。"