数据库的概念
数据库(database):存储数据的“仓库”。它保存了一系列有组织的数据。数据库和数据库软件经常混淆,实际上,数据库软件应称为:DBMS(数据库管理系统)。数据库是通过DBMS创建和操作的容器。
数据库的特点
(1)将数据放到表中,表再放到库中(2)一个数据库中可以有多个表,每个表都有一个的名字,用来标识自己。表名具有唯一性。(3)表具有一些特性,这些特性定义了数据在表中如何存储,类似java中 “类”的设计。(4)表由列组成,我们也称为字段。所有表都是由一个或多个列组成的,每一列类似java 中的”属性”(5)表中的数据是按行存储的,每一行类似于java中的“对象”。
1、SQL语言概述
SQL(Structure Query Language):专门用来与数据库通信的语言。SQL的优点: 1、不是某个特定数据库供应商专有的语言,几乎所有DBMS都支持SQL 2、简单易学 3、虽然简单,但实际上是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作
2、SQL 语言分类
(1)DML(Data Manipulation Language):数据操纵语句,用于添加、删除、修改、查询数据库记录,并检查数据完整性(2)DDL(Data Definition Language):数据定义语句,用于库和表的创建、修改、删除。(3)DCL(Data Control Language):数据控制语句,用于定义用户的访问权限和安全级别。DQL
3、DML
DML用于查询与修改数据记录,包括如下SQL语句:INSERT:添加数据到数据库中UPDATE:修改数据库中的数据DELETE:删除数据库中的数据SELECT:选择(查询)数据SELECT是SQL语言的基础,最为重要。
4、DDL
DDL用于定义数据库的结构,比如创建、修改或删除数据库对象,包括如下SQL语句:CREATE TABLE:创建数据库表ALTER TABLE:更改表结构、添加、删除、修改列长度DROP TABLE:删除表CREATE INDEX:在表上建立索引DROP INDEX:删除索引
5、DCL
DCL用来控制数据库的访问,包括如下SQL语句:GRANT:授予访问权限REVOKE:撤销访问权限COMMIT:提交事务处理ROLLBACK:事务处理回退SAVEPOINT:设置保存点LOCK:对数据库的特定部分进行锁定
Mysql产品的特点
MySQL数据库隶属于MySQL AB公司,总部位于瑞典
优点:成本低:开放源代码,一般可以免费试用性能高:执行很快可信赖:某些非常重要和声望很高的公司都用MySQL来处理自己的重要数据。简单:很容易安装和使用
DBMS分为两类
基于共享文件系统的DBMS(Access )小型数据库,没有服务端和客户端基于客户机——服务器的DBMS(MySQL、Oracle、SqlServer)
1、sql语言分类:
DQL:select
DML:insert 、update、delete
DDL:create、alter、drop
DCL:commit、rollback
2、语法规范
①忽略大小写,建议关键字大写,表名和列名小写
②每句话结尾用分号
③常见注释
#单行注释
/*多行注释*/
-- 单行注释
④ 每条sql命令,可以换行写,但关键字不能换行
子查询
概念:一个查询语句内部又嵌套了select语句,被嵌套的select语句称为子查询或内查询
外面的查询语句称为外查询或主查询
特点:
1、子查询一般放在小括号内
2、子查询一般放在条件右侧
3、子查询优先于外查询执行
4、子查询根据查询的结果行数不同,分为单行子查询和多行子查询
单行子查询,查询结果只有一行,使用单行操作符:> < >= <= <> =
多行子查询,查询结果多行,使用多行操作符:any、some、all、in、not in等
数据的插入
语法:insert into 表名(字段,字段) values(值1,值2);
特点:
1、值和字段要一一对应
2、如果是字符型或日期型,值要用单引号引起来;如果是数值型,则不用单引号
3、字段和值的个数必须一致
4、不能为null的字段必须插入值;
可以为null的字段可以不用插入值,但必须遵循以下写法:
① 字段和值都不写
② 字段写上,值用null代替
5、字段列表可以不写,默认是所有字段
insert into 表名 values(值,值);
事务的特点(ACID)
原子性: 一个事务不可再分,要么同时执行,要么同时失败
一致性:一个事务执行完,数据从一个状态切换到另一个状态,数据是完整的
隔离性:一个事务不受另一个事务的干扰
持久性:一个事务一旦提交,则永久的持久化本地,除非其他事务对其进行更新