SQL简介
- SQL: Structure Query Language(结构化查询语句), 是我们与数据库交互的一种方式。
(MySQL)使用入门
- SQL分类:
1. DDL(Data Definition Language),数据定义语言。主要操作对象为数据库,表,字段,索引等。
2. DML(Data Manipulation Language), 数据操纵语句。主要操作数据库表记录。
3. DCL(Data Control Language), 数据控制语言。主要对表,字段等进行安全控制和授权。
DDL语句
- 创建数据库
1
|
CREATE
DATABASE
<数据库名>;
|
- 删除数据库
1
|
DROP
DATABASE
<数据库名>;
|
- 创建表
1
2
3
4
5
|
CREATE
TABLE
<表名> (
列名1, 数据类型1, 约束条件1,
列名2, 数据类型2, 约束条件2,
...
)
|
1
2
3
4
5
6
|
CREATE
TABLE
emp(
ename
VARCHAR
(10) COMMENT
'雇员名称'
,
hiredate DATETIME COMMENT
'雇佣时间'
,
sal
DECIMAL
(10, 2) COMMENT
'薪水'
,
deptno
INT
(2) COMMENT
'部门编号'
);
|
- 查看表信息
- 查看创建表的详细信息
- 删除表
1
|
drop
table
<table_name>
|
- 修改表
1.修改字段类型:
2.增加表字段:
3.删除表字段:
4.字段改名:
5.修改字段排列顺序
6.修改表名:
DML语句:
- 插入记录
1
2
3
4
5
6
|
INSERT
INTO
<table_name>
(field1, field2, ...)
VALUES
(val1, val2, ...),
(val1
', val2'
, ...),
...
|
- 更新记录
1
2
3
4
|
UPDATE
<table_name>
SET
field1=val1, field2=val2, ...
[
WHERE
] ...
|
- 删除记录
1
2
|
DELETE
FROM
<table_name>
WHERE
...
|
- 查询记录
1
|
SELECT
*
FROM
<table_name>
WHERE
...
|
1
|
SELECT
DISTINCT
field_name
FROM
<table_name>;
|
1
|
SELECT
*
FROM
<table_name> LIMIT <offset>, <pagesize>
|
1
2
3
4
5
6
|
SELECT
(field1, field2, ...) func_name #表示某种聚合函数,如
max
,
sum
等
FROM
<table_name>
[
WHERE
condition] #
where
条件语句, 分类前过滤
[
GROUP
BY
field1, field2, ... #分组语句
[
WITH
ROLLUP
]] #是否再汇总
[
HAVING
condition] #对分类后再过滤
|
1
2
3
|
SELECT
*
FROM
table1
UNION
/
UNION
ALL
#前者合并时做一次
DISTINCT
, 后者直接合并
SELECT
*
FROM
table2
|
DCL语句:
(1)授权:
1
|
GRANT
[
SELECT
/
UPDATE
/
INSERT
/
DELETE
]
on
[DB.*/DB.<
table
>]
TO
'<username>'
@
'<host>'
IDENTIFIED
BY
'<password>'
;
|
1
|
REVOKE
[
SELECT
/
UPDATE
/
INSERT
/
DELETE
]
ON
[DB.*/DB.<
table
>]
FROM
'<username>'
@
'<host>'
;
|