在IT领域,尤其是在数据库管理与开发中,掌握MySQL这一关系型数据库管理系统是至关重要的技能。以下是对“mysql数据库中常用的sql大全”的详细解读,旨在帮助读者深入理解并掌握MySQL中的SQL语言及其各种操作。 ### 一、SQL语言分类 #### 1. 数据定义语言(DDL) 用于创建、修改和删除数据库对象,如数据库、表、索引等。 - **CREATE**:创建数据库或表。例如,`CREATE DATABASE database-name;` - **ALTER**:修改数据库或表的结构。例如,添加或删除列:`ALTER TABLE tabname ADD column_name data_type;` - **DROP**:删除数据库或表。例如,`DROP DATABASE db_name;` - **DECLARE**:虽然在标准SQL中没有此关键字,但在某些上下文中,如存储过程,可以用来声明变量。 #### 2. 数据操纵语言(DML) 用于插入、更新、删除和检索数据。 - **SELECT**:从一个或多个表中检索数据。例如,`SELECT * FROM table_name;` - **DELETE**:从表中删除行。例如,`DELETE FROM table_name WHERE condition;` - **UPDATE**:更新表中的行。例如,`UPDATE table_name SET column_name = new_value WHERE condition;` - **INSERT**:向表中插入新行。例如,`INSERT INTO table_name (column1, column2,...) VALUES (value1, value2,...);` #### 3. 数据控制语言(DCL) 用于授予或收回对数据库的访问权限。 - **GRANT**:授予用户权限。例如,`GRANT SELECT ON table_name TO user_name;` - **REVOKE**:收回已授予的权限。例如,`REVOKE SELECT ON table_name FROM user_name;` - **COMMIT**:提交事务,使其更改成为永久的。 - **ROLLBACK**:回滚事务,撤销未提交的更改。 ### 二、具体操作示例 #### 表的创建与删除 - 创建表:`CREATE TABLE table_name (column1 type1 [NOT NULL], column2 type2 [NOT NULL],...);` - 删除表:`DROP TABLE table_name;` #### 索引的创建与删除 - 创建索引:`CREATE [UNIQUE] INDEX index_name ON table_name (column_name,...);` - 删除索引:`DROP INDEX index_name;` #### 视图的创建与删除 - 创建视图:`CREATE VIEW view_name AS SELECT statement;` - 删除视图:`DROP VIEW view_name;` ### 三、数据查询与操作 #### 基本查询 - `SELECT * FROM table_name WHERE condition;` 可以选择性地从表中获取数据。 #### 插入、更新、删除操作 - 插入:`INSERT INTO table_name (column1, column2,...) VALUES (value1, value2,...);` - 更新:`UPDATE table_name SET column_name = new_value WHERE condition;` - 删除:`DELETE FROM table_name WHERE condition;` #### 复杂查询 - 使用`LIKE`进行模糊匹配:`SELECT * FROM table_name WHERE column_name LIKE '%pattern%';` - 排序:`SELECT * FROM table_name ORDER BY column_name [ASC | DESC];` - 聚合函数:`COUNT`, `SUM`, `AVG`, `MAX`, `MIN` #### 连接查询 - 内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)、全连接(FULL JOIN),用于将两个或多个表的数据结合在一起。 ### 四、高级功能 - 子查询:在查询中嵌套另一个查询。 - 联集(UNION)、差集(EXCEPT)、交集(INTERSECT)操作,用于组合或比较多个查询的结果集。 通过以上对SQL语言的详细解析,我们不难看出,熟练掌握这些命令对于数据库管理和数据操作至关重要。无论是基础的增删改查,还是复杂的联接、子查询,都是数据分析师、数据库管理员和软件开发者必备的技能。在实际工作中,灵活运用这些SQL语句,能够极大地提高数据处理的效率和准确性。
DDL―数据定义语言(CREATE,ALTER,DROP,DECLARE)
DML―数据操纵语言(SELECT,DELETE,UPDATE,INSERT)
DCL―数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)
首先,简要介绍基础语句:
1、说明:创建数据库
CREATE DATABASE database-name
2、说明:删除数据库
drop database dbname
3、说明:备份sql server
--- 创建 备份数据的 device
USE master
EXEC sp_addumpdevice ’disk’, ’testBack’, ’c:mssql7backupMyNwind_1.dat’
--- 开始 备份
BACKUP DATABASE pubs TO testBack
4、说明:创建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
根据已有的表创建新表:
A:create table tab_new like tab_old (使用旧表创建新表)
B:create table tab_new as select col1,col2… from tab_old definition only
5、说明:
删除新表:drop table tabname
6、说明:
增加一个列:Alter table tabname add column col type
注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。
7、说明:
添加主键:Alter table tabname add primary key(col)
说明:
删除主键:Alter table tabname drop primary key(col)
创建索引:create [unique] index idxname on tabname(col….)
删除索引:drop index idxname
注:索引是不可更改的,想更改必须删除重新建。
9、说明:
创建视图:create view viewname as select statement
删除视图:drop view viewname
10、说明:几个简单的基本的sql语句
选择:select * from table1 where 范围
插入:insert into table1(field1,field2) values(value1,value2)
删除:delete from table1 where 范围
更新:update table1 set field1=value1 where 范围
查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料!
排序:select * from table1 order by field1,field2 [desc]
总数:select count * as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1
11、说明:几个高级查询运算词
A: UNION 运算符
UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。
B: EXCEPT 运算符
EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。
C: INTERSECT 运算符
INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。
注:使用运算词的几个查询结果行必须是一致的。
12、说明:使用外连接
A、left outer join:
左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所有行。
剩余6页未读,继续阅读
- 粉丝: 0
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助