现在的位置: 首页 > 综合 > 正文

MySQL管理与优化(1):SQL基础

2018年03月19日 ⁄ 综合 ⁄ 共 1474字 ⁄ 字号 评论关闭

SQL简介

  • SQL: Structure Query Language(结构化查询语句),
    是我们与数据库交互的一种方式。

(MySQL)使用入门

  • SQL分类:

       1. DDL(Data Definition Language),数据定义语言。主要操作对象为数据库,表,字段,索引等。

       2. DML(Data Manipulation Language), 数据操纵语句。主要操作数据库表记录。

       3. DCL(Data Control Language), 数据控制语言。主要对表,字段等进行安全控制和授权。

DDL语句

  • 创建数据库
?
1
CREATEDATABASE

<数据库名>;
  • 删除数据库
?
1
DROPDATABASE

<数据库名>;
  • 创建表
?
1
2
3
4
5
CREATETABLE

<表名> (
    列名1,
数据类型1, 约束条件1,
    列名2,
数据类型2, 约束条件2,
    ...
)

例如:

?
1
2
3
4
5
6
CREATETABLE

emp(
    enameVARCHAR(10)
COMMENT
'雇员名称',
    hiredate
DATETIME COMMENT
'雇佣时间',
    salDECIMAL(10,
2) COMMENT
'薪水',
    deptnoINT(2)
COMMENT
'部门编号'
);
  • 查看表信息

  • 查看创建表的详细信息

  • 删除表
?
1
droptable

<table_name>
  • 修改表

    1.修改字段类型:

     2.增加表字段:

    3.删除表字段:

     4.字段改名:

     5.修改字段排列顺序

     6.修改表名:

DML语句:

  • 插入记录
?
1
2
3
4
5
6
INSERTINTO

<table_name>
(field1,
field2, ...)
VALUES
(val1,
val2, ...),
(val1',
val2'
,
...),
...
  • 更新记录
?
1
2
3
4
UPDATE<table_name>
SET
field1=val1,
field2=val2, ...
[WHERE]
...
  • 删除记录
?
1
2
DELETEFROM

<table_name>
WHERE...
  • 查询记录
?
1
SELECT*
FROM<table_name>
WHERE...

(1)查询不重复的记录

?
1
SELECTDISTINCT

field_name
FROM<table_name>;

(2)分页查询

?
1
SELECT*
FROM<table_name>
LIMIT <offset>, <pagesize>

(3)聚合

?
1
2
3
4
5
6
SELECT(field1,
field2, ...) func_name #表示某种聚合函数,如
max,sum
FROM<table_name>
[WHEREcondition]
#
where条件语句,
分类前过滤
[GROUPBY

field1, field2, ... #分组语句
[WITHROLLUP]]
#是否再汇总
[HAVINGcondition]
#对分类后再过滤

(4)联合

?
1
2
3
SELECT*
FROMtable1
UNION/UNIONALL

#前者合并时做一次
DISTINCT,
后者直接合并
SELECT*
FROMtable2

DCL语句:

(1)授权:

?
1
GRANT[SELECT/UPDATE/INSERT/DELETE]on[DB.*/DB.<table>]TO'<username>'@'<host>'IDENTIFIED
BY'<password>';

(2)回收授权:

?
1
REVOKE[SELECT/UPDATE/INSERT/DELETE]ON[DB.*/DB.<table>]FROM'<username>'@'<host>';

不吝指正。

【上篇】
【下篇】

抱歉!评论已关闭.