前言
本章讲解的mysql数据库的增删改查基本语句以及视图的创建。
增删改查
1.数据对象:
DDL:数据定义语言
CREATE
ALTER
DROP
DML:数据操作语言
INSERT
UPDATE
DELETE
DCL:数据控制语言
GRANT
REVOKE
2.DDL的用法:
创建数据库:
CREATE database testname;
如果不存在就创建:
CREATE database IF NOT EXISTS testname;
删除数据库:
DROP DATABASE testname;
创建用户:
CREATE USER ‘username’@’host’ IDENTIFIED BY ‘PASSWORD’
删除用户:
DROP USER ‘username’@’host’;
host解读:
IP hostname 通配符:匹配任意单个字符,172.16.0. 匹配任意长度的任意字符使用,%
3.DML的用法
UPDATE tablename SET name=’user1’ where id=5;
解释:将表中,user1的用户,部门号由1改为5。
SELECT name,id from tablename where age=33;
解释:查询出年龄为33岁的,显示名字和部门。
Delete from tablename where name=‘user1’;
解读:删除表中名字等于user1的,如果没有带where表示所有行。
insert into 表名 [(字段名 1,字段名 2,...)]
values(值 1,值 2,...),(值 1,值 2,...)
...(值 1,值 2,...);
解读:同时添加多条数据。
update 表名 set 字段名1=值1,...,字段名n=值n;
解读:更新全部数据。
delete from 表名 ;
解读:删除全部数据。
主键约束:
字段名 数据类型 PRIMARY KEY
非空约束 NOT NULL:
字段名 数据类型 NOT NULL### 视图
唯一性约束 UNIQUE:
字段名 数据类型 UNIQUE
默认约束DEFAULT:
字段名 数据类型 DEFAULT
设置表的字段值自动增加:
字段名 数据类型 AUTO_INCREMENT
视图
为了简化复杂SQL语句编写,以及提高数据库安全性,MySQL数据库视图特性。视图是一张虚拟表,不在数据库中以储存的数据值形式存在。在开发中,开发者往往只对某些特定数据和所负责的特定任务感兴趣,只需要看到这一部分数据即可。这时候就可以用到视图来完成。
1.什么是视图?
数据库中的视图是一个虚拟表,但它同真实表一样,包含一系列带有名称的行和列数据。
2.视图的作用
与直接从真实数据表中进行数据操作相比,视图具有以下的有点:
(1)简单化 看到的就是需要的。视图不仅可以简化用户对数据的理解,也可以简化他们的操作。那些被经常使用的查询可以被定义为视图,从而用户不必为以后的每一次操作指定全部的条件。
(2)安全性 通过视图用户只能查询和修改他们所能看到的数据。数据库中的其他数据则既看不见也娶不到。数据库授权命令可以使每个用户对数据库的检索限制到特定的数据库对象上,但不能限制到特定行和特定列上。但通过视图,用户可以被限制到数据库的行列级别的子集上。
(3)逻辑数据独立性 视图可以帮助用户屏蔽真实表结构变化带来的影响。
3.创建视图的基本格式:
CREATE VIEW <视图名称> [(column_list)]
AS SELECT语句;
虽然还有更加完整的详细语法格式,但一般情况下,使用上述基本格式就够用了。
查看所有视图:
select * FROM information_schema.views ;
解释:information_schema数据库下的views表中存储了所有视图的定义,通过对views表的查询。
总结:
(1)视图中不包含真实表中被定义为非空的列(视图中没有,但真实表中为非空约束)。
(2)在定义视图的select语句后的字段列表中使用了数学表达式。
(3)在定义视图的select语句后的字段列表中使用了聚合函数。
(4)在定义视图的select语句中使用了distinct,union,top, group by,或having子句。