数据库
什么是数据库:
数据库即数据的仓库,在数据库中提供了专门的管理系统,对数据库中的数据进行集中的控制和管理。
数据库分类:
大型数据库:Oracle DB2
中型数据库:Ms SQLserver
小型数据库:mySQL
查看所有数据库 : show databases;
进入数据库: use 库名;
数据库的注释: -- 空格
数据定义语言(DDL):创建、删除、修改数据库的内部数据结构
常用的DDL语法:
创建数据库 :create database 库名(随便取);
切换数据库 : use 库名;
创建表 :table
查看数库下面所有表 : show tables;
查看某张表的具体结构:describe 表名;
删除数据库 : drop database 库名;
删除表 : drop table 表名;
复制表 :create table 新表名 select*from 原来的表名;
添加列 : alter table 新表名 add 参数名字 类型;
删除列 :alter table 新表名 drop column 参数名字;
修改列的数据类型 :alter table 新表名 modify 参数名字 类型;
修改列的字段名 : alter table 原来新表名 change 参数名字 改的新的表名 类型;
创建索引(作用:提升查找速度):
create index 索引名_name_index on 表名( _name);
删除索引名:
alter table 表名 drop index on 索引名_name_index;
例:
-- 创建数据库 create database j175; -- 切换数据库 use j175; -- 创建表 table create table t_food(表名)( f_id int, -- 编号 f_name varchar(20), -- 名称(长度最多20个字符) f_weight float, -- 重量 f_price decimal(5,2),-- 价格(规定的浮点型的长度,总长度5位,小数点后两位) f_publish date, -- 日期 f_type char -- 类型 注:最后一次输入不能用“,”号 ); -- 查看数据库下面所有表 show tables; -- 查看某张表的具体结构 describe t_food; -- 删除数据库 drop database j175; -- 删除表 drop table t_food; -- 复制表 create table t_food_bak select * from t_food; -- 添加列 alter table t_food_bak add f_exp varchar(10); -- 删除列 alter table t_food_bak drop column f_exp; -- 修改列的数据类型(下面是把varchar转换成int数据类型) alter table t_food_bak modify f_exp int; -- 修改列 alter table t_food_bak change f_exp f_exp_new varchar(20); -- 创建索引 create index t_food_bak_name_index on t_food_bak(f_name); -- 删除索引 alter table t_food_bak drop index t_food_bak_name_index;
数据在数据库中的存储形式:层次模型 、网状模型、关系模型、对象模型
网状模型如图:
关系模型如图:
关系型数据库中的三种关系(表关系):一对一关系,一对多关系、多对多关系
一对一关系如图:
一对多关系如图:
多对多关系如图:
什么是数据库管理系统:
关系型数据库只是一个保存数据的容器, 大多数数据库依靠一个称为 数据库管理系统(Database Management System,简称DBMS)的软件来管理数据库中数据。 管理关系型数据库的软件称为 关系型数据库管理系统(Relational Database Management System,简称RDBMS)。 数据库应用程序通过RDBMS与关系型数据库进行交互。
数据库管理系统分类:
1、本地数据库管理系统:
本地数据库管理系统又称桌面型数据库管理系统。 在这种系统模式下,RDBMS与数据库应用程序运行在同一客户端的进程中,
例如微软的Access数据库,其模型如下图所示
2、数据库服务器管理系统:
在数据库服务器管理系统中,RDBMS和数据库应用程序运行在不同的进程,通常在不同的机器上。 一般数据库应用程序在客户端,而RDBMS则在专门的数据库服务器上。
其模型如下图所示
注意:在商业应用程序开发中,为安全性及性能考虑,通常采用数据库服务器管理系统。
结构化查询语言(Structured Query Language)-SQL
1、SQL是结构化查询语言(Structured Query Language)的英文缩写,发音为“see-kwell”。 是一种用于管理关系型数据库,并与数据库中的数据进行通讯的计算机语言。
2、SQL是一种用于数据库操作的语言,并且已经成为数据库管理的标准语言。
3、SQL与RDBMS(Relational Database Management System,关系型数据库管理系统的简称为RDBMS 管理关系型数据库的软件称为关系型数据库管理系统)协同工作, 来定义数据库的结构、存储数据、操纵数据、获取数据、控制对数据的访问以及确保数据的完整性。
4、SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础, 并且现在几乎所有的数据库均支持SQL。
SQL语言特点:
1.SQL集数据定义、数据操纵和数据控制于一体,可以完成数据库中的全部工作。
2.使用方式灵活:它具有两种使用方式,即可以直接以命令方式交互使用, 也可以嵌入使用,嵌入到C、C++、php、JAVA等主流编程语言中使用。
3.非过程化:使用时只需要告诉计算机“做什么”,而不需要告诉它“怎么做”。
4.语言简洁,语法简单,核心功能只用6个动词,语法接近英语口语。
SQL 语言组成(由四个部分):
1、数据定义语言(Data Definition Language-DDL)
数据定义语言用于定义数据库、定义数据表、定义视图与索引等。
2、数据操作语言(Data Manipulation Language-DML)
数据操作语言用于操作关系型数据库对象内部的数据,基本命令插入(Insert)、更新(Update)和删除(Delete)
3、数据查询语言(Data Query Language-DQL)
数据查询语言是现代关系型数据库用户最关注的部分,通过 Select 语句查询数据。
4、数据控制语言(Data Control Language-DCL)
数据控制语言分为事务控制语句、安全性控制语句等,用于控制对数据库里数据的访问,通常用于创建与用户访问相关的对象,以及控制用户的权限,如修改密码(Alter password)、权限(Grant)等等。
系入图: