、数据库 简单来说,所谓的数据库就是存储数据的容器,而且是永久存储的。
2、为什么需要数据库 数据库可以结构化存储大量的数据信息,方便用户进行有效的检索和访问。 数据库可以对数据进行分类保存,并且能够提供快速的查询
3、为什么要学习MySQL数据库 最早MySQL数据,瑞典AB公司开发的一款开源型的关系型数据库。
随着时间的推移,瑞典AB公司把MySQL数据库转让给Sun公司(Java语言的创始公司)
后来,Sun公司经营不善,又把MySQL数据库转让给甲骨文公司(Oracle数据库)
4、数据库的分类 在实际项目开发中,数据库一共分为两大类:①关系型数据库 ②非关系型数据
非关系型数据库有哪些:Redis、MongoDB
关系型数据库:
小型数据库:微软Access
中型数据库:DB2、MySQL、SQL Server
大型数据库:Oracle
5、什么是关系型数据库(MySQL) 通过一种“关系”去管理实体信息,实体信息之间的联系。
关系:实际上就是一张二维表,有列,还有行。
6、我们学习的过程,先学数据库->数据表->对数据进行增删改查操作
二、MySQL的基本操作 1、MySQL-Front软件的使用 ①启动PHPStudy中的MySQL数据库
②确认MySQL数据库的密码。
注意:连接数据库需要用户名(默认:root)和密码(默认:root)
③解压MySQL-Front.rar压缩包
2、MySQL库操作 1)创建数据库 在实际项目开发中,一个项目就是一个数据库。
创建MySQL数据库:
create database 数据库名称;
①选中localhost,然后切换到SQL编辑器
②在SQL编辑器中输入create database db_20171227;
2)删除数据库 基本语法:
删除就是不想要了,不想要了就是丢掉,丢掉的单词:drop
drop database 数据库名称;
特别注意:删除数据库是不可逆的,删除之前一定要慎重。
3)查看数据库 ①查看所有数据库
查看的单词:show
查看所有数据库:show databases;
②显示指定的某类数据库
show databases like ‘db%’; //查询所有以db开头的所有数据库
普及like模糊查询,有两个关键字需要记住:
_(下划线):代表任一一个字符,可能代表a也可能代表b…
%(百分号):代表任意的n个字符,可能代表ab也可能代表abcd…
4)修改数据库 特别说明:在最新版本的MySQL中,数据库是不允许修改的。如果想修改必须删除在重建。
3、MySQL数据表操作 在MySQL中,存放数据的真实位置都是数据库中的数据表。
数据表就是一张二维表,有列有行。
数据库很容易创建,但是数据表的创建有一点麻烦,麻烦在哪里呢?答:创建数据表时候,必须先创建列信息。
学号(纯数字)唯一
姓名(字符串)
年龄(纯数字)
性别(男、女、保密)
创建数据表时,不需要指定数据行,但是必须指定数据列,确认你要往里面存放什么类型的数据。
创建表必须有两个东西:第一个东西就是列信息,第二个东西就是列属性(什么类型)
1)创建数据表(前提是现有数据库) ①创建数据库并选择数据库(选择的关键词:use)
②由于我们想数据表中插入的数据存在中文,所以也要设置编码格式
基本语法:set names utf8; //注意:数据库中的编码格式没有横杠
但是如果你使用的是MySQL-Front可以不需要这行代码,因为软件默认就是utf8。
③在db_20171227数据库中创建数据库
创建单词:create
表的单词:table
连在一起:
create table tb_user(
– id代表列名称,不支持中文
– int整数
– not null不能为空
– auto_increment
id int notnull auto_increment,
usernamevarchar(20) not null,
age int,
genderenum(‘男’,’女’,’保密’),
primary key(id)
) engine = myisam default charset=utf8;
2)数据表的列类型 创建数据表的基本语法:
create table 数据表名称(
列名称(英文) 列类型 列约束(not null));
①整数类型(每个类型所表示的范围不同)
tinyint :微整型,范围-128 -> 127(有符号型),如果添加unsigned(无符号型),0-255,人的年龄比较适合使用无符号的tinyint进行存储。
smallint :小整型,-32768->32767(有符号型),如果添加unsigned(无符号型),0-65535,中小型网站会员,可以使用smallint。
mediumint :中整型,-800万->800万,无符号型,1600万左右,如果一个门户网站的文章数量可以使用mediumint
int :整型,-21亿->21亿,无符号型,42亿左右,全世界的人口数量
bigint :无法用int类型保存的都可以使用bigint
②小数类型(带有小数点的数据),记住一个类型即可:decimal(M,N)
decimal(11,2) :数字的总长度(整数部分+小数部分)< 11位,2代表小数位,保留2位小数。在实际项目开发中,主要用于保存产品的价格
③字符串类型(char类型与varchar类型,text文本类型)
char类型:char(255),如果一个字符串是固定长度的,而且小于255个字符,建议使用char类型,比如md5加密后的结果是固定的32位,建议采用char(32)
varchar类型:varchar(255),如果一个字符串的长度不是固定的,建议采用varchar类型。比如人的姓名、文章的标题、文章的描述。
对于字符数量超过255个字符的情况,建议使用text文本类型,比如文章的内容,产品的具备介绍。这些都是采用text文本类型。
④两种特殊的字符串类型(enum枚举类型与set集合类型)
enum(‘男’,’女’,’保密’) :单选,多个结果中选1个
set(‘吃饭’,’睡觉’,’打豆豆’) :多选,多个结果中可以同时选中多个
在实际项目开发中,如何创建数据库?
答:先参考一下同行的项目都有哪些属性,每个属性就是一个字段(列)
3)删除数据表 丢掉:drop
表:table
删除数据表:drop table 数据表名称;
4)修改数据表(数据表的名称) 重命名:rename
rename table 原来的名字 to 新名称;
5)查看数据表 ①查看所有的数据表或某类的数据
show tables like ‘_或%’;
②查看数据表的结构
desc 数据表名称;
4、MySQL中数据的操作(增删改查) 1)向数据表中插入数据 基本语法:
插入:insert
向数据表中插入数据:
insert into 数据表名称([字段1,字段2…]) values (字段值1,字段值2…)
示例代码:向tb_user表中插入数据
示例代码:根据字段插入数据
2)更新数据表中的记录 基本语法:
更新:update
update 数据表名称 set 字段(列) = 更新后的值,字段(列) = 更新后的值 where 条件;
3)从数据表中查询数据 ①查询所有数据
查询:select
select * from 数据表名称;
或
select 字段(某一列) from 数据表名称;
②根据条件查询数据(多了一个where)
4)从数据表中删除数据(重点) 基本语法:
删除:delete
delete from 数据表名称 where 条件;
① delete from 数据表名称;
② truncate 数据表名称;
两者的功能都是删除所有数据,但是truncate删除的数据,其主键(primary key)会重新编号。而delete from删除后的数据,会## 标题继续上一次编号。