数据库
1 知识点
1 DBMS 数据库管理系统:
- SQL ORACLE DB2:DBMS 不但可以使应用程序轻松地读写数据文件,而且还具有一致并且安全存储数据地功能。DBMS 还具有检查数据完整性地功能,也有在各个表地字段上设置索引。
数据库系统构成要素包括:数据文件,DBMS,和应用程序三部分;
独立型系统:(环境共享系统)把这三个要素部署在一台计算机上;
客户端/服务器系统:(web 系统)将这三个表部署在一台或多台计算机上; - 键用于设定表与表之间地关系;
- 索引是替身数据索引地机制。
- 关系型数据库: SQL ( structed Query Language, 结构化查询语言 )
- 卡片型数据库适合规模小地数据库
- 关系型数据库:适合存储大规模数据,数据被拆解到多张表中,同时表与表之间地关系也可以被记录下来。
- 提到数据库,默认就是关系型数据库;
- 数据库设计:(1)把必要地数据筛选出来;(2)考虑数据地属性,属性也称工作模式;
- 数据库系统设计:优先设计数据库,然后再设计用户界面。
- 记录(行/元组)(列/属性);
- 记录之间虽然在逻辑上有一对一,多对多,以及多对一(等同于一对多)三种关系;关系型数据库中无法直接表示多对多地关系;当出现多对多地关系时,可以在两张表之间再加入一张表,把多对多地关系分解成两个一对多地关系;加入地这张表就被称为链接表。
- 对数据库进行操作地种类称为:CRUD C(CREAT) 记录地插入 R(REFER)获取 U(UPDATE)更新 D(DELETE)删除,当然为了满足客户需求为应用程序相应地增加了统计,打印等功能地情况也是存在的。
- 市面上几乎所有DBMS 都支持SQL语言;
- 事物:由若干条SQL语句构成,表示由数据库一系列相关操作地集合。
2 MYSQL 结构化查询语言(Structured Query Language)简称 SQL
MySQL 是一个 DBMS(数据库管理系统),由瑞典 MySQLAB 公司开发,目前属于 Oracle 公司,MySQL 是最流行的关系型数据库管理系统(关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发者都选择 MySQL 作为网站数据库。MySQL 使用 SQL 语言进行操作。
MySQL安装
- 检查是否系统安装了:sudo service mysql start
- Ubuntu Linux 安装配置 MySQL:(1)sudo apt-get install mysql-server(2)sudo apt-get install mysql-client(3)安装结束后,用命令验证是否安装并启动成功:sudo netstat -tap | grep mysql
- 尝试MySQL(1)sudo service mysql start 使用 root 用户登录,实验楼环境的密码为空,直接回车就可以登录mysql -u root;(2)使用命令 show databases;,查看有哪些数据库(注意不要漏掉分号 ;):(3)选择连接其中一个数据库,语句格式为 use <数据库名>,这里可以不用加分号,这里我们选择 information_schema 数据库:(查看表使用命令 show tables; 查看数据库中有哪些表(注意不要漏掉“;”):)(4)退出使用命令 quit 或者 exit 退出 MySQL。
创建数据库并插入数据 -
打开 MySQL 服务
sudo service mysql start #使用 root 用户登录,密码为空mysql -u root
2. 新建数据库:语句格式为 CREATE DATABASE <数据库名字>;,(注意不要漏掉分号 ;),前面的 CREATE DATABASE 也可以使用小写,具体命令为:CREATE DATABASE mysql_shiyan;
3. 连接数据库:接下来的操作,就在刚才创建的 mysql_shiyan 中进行,首先要连接数据库,使用语句 use <数据库名字>:use mysql_shiyan输入命令 show tables; 可以查看当前数据库里有几张表,现在mysql_shiyan 里还是空的:
4. 数据表数据表(table)简称表,它是数据库最重要的组成部分之一。数据库只是一个框架,表才是实质内容。而一个数据库中一般会有多张表,这些各自独立的表通过建立关系被联接起来,才成为可以交叉查阅、一目了然的数据库。如下便是一张表:
5. 新建数据表:
在数据库中新建一张表的语句格式为:
CREATE TABLE 表的名字
(
列名a 数据类型(数据长度),
列名b 数据类型(数据长度),
列名c 数据类型(数据长度)
);
我们尝试在 mysql_shiyan 中新建一张表 employee,包含姓名,ID 和电话信息,所以语句为:
CREATE TABLE employee (id int(10),name char(20),phone int(12));
然后再创建一张表 department,包含名称和电话信息,想让命令看起来更整洁,你可以这样输入命令:这时候再 show tables; 一下,可以看到刚才添加的两张表:
- 插入数据:刚才我们新建了两张表,使用语句 SELECT * FROM employee; 查看表中的内容,可以看到 employee 表中现在还是空的:
我们通过 INSERT 语句向表中插入数据,语句格式为:
INSERT INTO 表的名字(列名a,列名b,列名c) VALUES(值1,值2,值3);
我们尝试向 employee 中加入 Tom、Jack 和 Rose:
INSERT INTO employee(id,name,phone) VALUES(01,'Tom',110110110);
INSERT INTO employee VALUES(02,'Jack',119119119);
INSERT INTO employee(id,name) VALUES(03,'Rose');
- 删除数据库:删除语句为DROP DATABASE mysql_shiyan;。