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

SQL基础:

SQL简介

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

(MySQL)使用入门

  • SQL分类:

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

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

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

DDL语句

  • 创建数据库
CREATE DATABASE <数据库名>;
  • 删除数据库
DROP DATABASE <数据库名>;
  • 创建表
CREATE TABLE <表名> (
    列名1, 数据类型1, 约束条件1,
    列名2, 数据类型2, 约束条件2,
    ...
)
例如:
CREATE TABLE emp(
	ename VARCHAR(10) COMMENT '雇员名称',
	hiredate DATETIME COMMENT '雇佣时间', 
	sal DECIMAL(10, 2) COMMENT '薪水',
	deptno INT(2) COMMENT '部门编号'
);
  • 查看表信息

MySQL管理与优化(1):SQL基础_第1张图片

  • 查看创建表的详细信息

MySQL管理与优化(1):SQL基础_第2张图片

  • 删除表
drop table <table_name>
  • 修改表

    1.修改字段类型:

MySQL管理与优化(1):SQL基础_第3张图片

     2.增加表字段:

MySQL管理与优化(1):SQL基础_第4张图片

    3.删除表字段:

MySQL管理与优化(1):SQL基础_第5张图片

     4.字段改名:

     5.修改字段排列顺序

MySQL管理与优化(1):SQL基础_第6张图片

MySQL管理与优化(1):SQL基础_第7张图片

     6.修改表名:

DML语句:

  • 插入记录
INSERT INTO <table_name> 
(field1, field2, ...)
VALUES
(val1, val2, ...),
(val1', val2', ...),
...
  • 更新记录
UPDATE <table_name>
SET
field1=val1, field2=val2, ...
[WHERE] ...
  • 删除记录
DELETE FROM <table_name>
WHERE ...
  • 查询记录
SELECT * FROM <table_name> WHERE ...
(1)查询不重复的记录
SELECT DISTINCT field_name FROM <table_name>;
(2)分页查询
SELECT * FROM <table_name> LIMIT <offset>, <pagesize>
(3)聚合
SELECT (field1, field2, ...) func_name #表示某种聚合函数,如max, sum等
FROM <table_name>
[WHERE condition] #where条件语句, 分类前过滤
[GROUP BY field1, field2, ... #分组语句
[WITH ROLLUP]] #是否再汇总
[HAVING condition] #对分类后再过滤
(4)联合
SELECT * FROM table1
UNION/UNION ALL #前者合并时做一次DISTINCT, 后者直接合并
SELECT * FROM table2

DCL语句:

(1)授权:

GRANT [SELECT/UPDATE/INSERT/DELETE] on [DB.*/DB.<table>] TO '<username>'@'<host>' IDENTIFIED BY '<password>'; 
(2)回收授权:
REVOKE [SELECT/UPDATE/INSERT/DELETE] ON [DB.*/DB.<table>] FROM '<username>'@'<host>'; 
不吝指正。

你可能感兴趣的:(mysql,SQL基础)