Day39:MySQL数据库综合复习整理

1.关系型数据库的特点

1.关系型数据库的组织原则是表格.
2.数据分别存储在一些相关的二维表中.
3.每个表包含某个特定主题的数据.
4.表与表之间是通过主外键关联.

2.MySQL数据库的特点

1.最初开发者为瑞典MySQLAB公司,如今被SUN公司收购,并且开放源码。
2.MySQL是一个小型关系型数据库管理系统。
3.MySQL是一个支持多用户、多线程SQL数据库服务器。
4.使用C和C++编写,支持Linux、Mac 0S、Solaris、Windows等多种操作系统。

3.MySQL中建立用户及权限

1.建立用户:
CREATE USER user_name IDENTIFIED BY password;如:
CREATE USER test IDENTIFIED BY’test’;
2.删除用户:
DROP[user_name];如:
DROP test;

4.MySQL中建立用户及权限

3.赋予用户权限:
GRANT[options]ON[databases]TO[user]IDENTIFIED BY
[password WITH GRANT OPTION;如:
GRANT ALL PRIVILEGES ON
.TO‘test’@’%'IDENTIFIED BY test’WITH GRANT OPTION;

4.取消用户权限:
REVOKE[option_1,option 2.……JFROM[user];如:
REVOKE ALL PRIVILEGES,GRANT OPTION FROM test;

5.MySQL中建立数据库、数据表

如:
CREATE TABLE emp(
EMPNO smallint(4)NOT NULL auto_increment,ENAME varchar(10)default NULL,JOB varchar(9)default NULL,MGR bigint(4)default NULL,HIREDATE date default NULL,SAL double(7,2)default NULL,COMM double(7,2)default NULL,DEPTNO smallint(2)default NULL,PRIMARY KEY(EMPNO)
)ENGINE=InnoDB AUTO_INCREMENT=7935 DEFAULT CHARSET=gbk;

ALTER TABLE emp ADD CONSTRAINT fk deptno FOREIGN KEY(deptno)REFERENCES dept(deptno);

6.MySQL中建立数据库、数据表

3.删除数据库:
DROP DATABASE[database_name];如:
CREATE DATABASE test;
4.删除数据表:
DROP TABLE[table_name];如:
DROP TABLE emp;删除数据表时,要注意数据表的主从关系。

7.MySQL中的数据维护

事务(TRANSACTION)为工作的一个逻辑单位,由一个或多个SQL语句组成。一个事务是一个原子单位,构成事务的全部SQL语句的结果可被全部提交或者全部回滚。

1.开始事务:
START TRANSACTION;

2.提交事务:
COMMIT;

3.设置事务自动提交:
SET AUTOCOMMIT=0/1;
0:表示取消自动提交;
1:表示开启自动提交;

4.设置事务回滚点:
SAVEPOINT[rollback_name];如:
SAVEPOINTr_1;

扫描二维码关注公众号,回复: 8637391 查看本文章

5.回滚事务:
ROLLBACK TO[rollback_name];如:
ROLLBACK TOr_1;

6.释放回滚事务:
RELEASE SAVEPOINT[rollback_name];

7.数据的迁移:
7.1:CREATE TABLE[table_name]AS SELECTFROM
[SEHCMA].[table_name];如:
CREATE TABLE mytable AS SELECT
FROM test.emp;
**
7.2:
INSERT INTO[table name]SELECT
FROM
[SEHCMA].[table_name];如:
insert into emp_1 select
from emp;
**

8.添加新数据:
INSERT INTO[table_name]VALUES(V_1,V_2.…….V_N);INSERT INTO[table_name](COL_1,COL_2….COL_N)
VALUES(V_1,V_2…….V_N);INSERT INTO[table_name]VALUES(V_1,V_2.…….V_N),
(V_1,V2….V_N),(V_1,V_2….V_N)………

9.更新数据:
UPDATE[table name]SET col name_1=value_1,col name_1
=value_1,col_name_1=value_1……
WHERE[condition];

10.删除数据:
DELETE FROM[table_name];
DELETE FROM[table name]WHERE[condition];

11.删除数据:
TRUNCATE TABLE[table_name];

8.MySQL中的查询语句

1.查询语句:
SELECT[col name1,col_name1,col_name1.……]
FROM[table name]WHERE[condition];

2.数据排序:
ORDER BY ASC/DESC

3.数据的分组:
GROUP BY[col_name]HAVIN[condition]

4.聚合函数:
MAX、MIN、AVG、COUNT、SUM

5.查询中用到的关键字:
LIKE、IN、BETWEEN…AND…、

6.查询中的运算符:
比较运算符和逻辑运算符

7.子查询:
单行子查询、多行子查询、相关子查询

8.连接查询:
自连接查询、内连接查询、(左/右)外连接查询

9.MySQL的数据类型

MySQL的三种主要类型:
数值型、字符型、时间型
UNSIGNED代表无符号。
ZEROFILL 代表为该值添加零。并自动将其变为UNSIGNED

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10.视图

语法格式:
CREATE[OR REPLACE]VIEW[模式.]视图名称
AS SELECT 子查询

  • REATE VIEW命令的AS子句指定了视图的定义查询,视图的定义查询的结果决定了视图的结构(列和行)。
  • OR REPLACE选项允许新视图替换已存在的一个同名视图,这将省去删除旧视图的麻烦。FORCE选项表示强制建立视图,即使在基本表不存在或无权访问基本表的情况下。
  • 使用视图的优点
    1、为用户提供数据
    2、隐藏数据复杂性
    3、提高数据安全性

例如:
CREATE OR REPLACE VIEW V_SALESMAN AS SELECTFROM EMP WHERE JOB=‘SALESMAN’;*

更改视图
alter view 视图名
as select 语句

删除视图
drop view 视图名

11.索引的概念

索引是一种数据库对象,它是基于表中的一个列或多个列的值,提供对表进快速访问的一种访问机制。索引的目标是提高存取数据的速度。

优点:

  • 可加速联接多个表的查询
  • 可用于实施值的唯一性

缺点和使用原则:

  • 创建索引要花时间
  • 需要额外的存储空间
  • 每次修改数据,索引都需更新
  • 维护索引需要时间和资源,不应创建不会频繁使用的索引

12.索引的创建

CREATE[UNIQUE]INDEX[schema.]索引名ON{[schema.]表名(column[ASCIDESC]I,column[ASCIDESC]]…)}

  • 其中
    UNIQUE 定义的是唯一索引确保在定义索引的列中没有重复的值;
    MYSQL自动为主键和唯一键列创建唯一索引。
  • 例如:
    CREATE UNIQUE INDEX ID_STU ON NEW_STU(STUNO);

13.索引的删除

DROP INDEX[schema.]索引名ON表名ALTER TABLE TBALE NAME DROP INDEX INDEX NAME

  • 例如:
    DROP INDEX ID STU ON STU;ALTER TABLE STU DROP INDEX INDEX NAME
发布了108 篇原创文章 · 获赞 39 · 访问量 9356

猜你喜欢

转载自blog.csdn.net/qq_40246175/article/details/103041711