• 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库
没有结果
查看所有结果
  • 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库
没有结果
查看所有结果
没有结果
查看所有结果

Mysql(一)关系型、 层次型、 数据库、 数据库引擎、 数据表、 网状型、 表属性

Mr.Lee 由 Mr.Lee
2018年5月20日
在 Mysql
0
Mysql(五)事物、 外键、 存储函数、 存储过程、 流程控制、 视图、 触发器
0
分享
2
浏览

基本概念

数据库

database

什么是数据库:存放数据的仓库,用途就是存放,(永久存放)

Word也是永久存放数据的地方,那么word是数据库吗?

Word 文档文件—-从定义上说,word就是数据库,为什么?

其实数据库的本质就是文件

数据库发展史

层次型

什么是层次型数据库?

把数据分层,分类来存储好处,把数据归类了,层次分明

像一个倒立的树

现在你要找一个学生,那么必须从学校开始找 学校—-班级—-学生或学校—-教师—学生

出现了一个导航问题找C必须通过A再B

出现了重复数据

网状型

好处:解决了数据的重复

坏处:但是导航问题没有根本的解决

关系型

什么是关系型数据库

其实就是有关系的二维表

数据表

关系型数据库中的二维表就是数据表,是二维的另外一个名字

记录

数据表中一行就是一条记录

字段

数据表中一列就是一个字段

数据

一行和一列交差的地方就是数据

数据库管理系统(软件)

Managerment database system

平时说的MySQL数据库这个定义不对 其实MySQL是管理数据库的,是一个数据库管理系统

常见的一些数据库管理系统有如下几个;

Oracle mysql sqlserver sqllite db2 access

如上的一些数据库管理系统都有一个特点—–都是管理关系型数据库的

用途:数据库管理系统就是用来管理数据库的

SQL

Sql就是数据库管理系统管理数据库的一种命令

这里数据库管理系统可以不同但是sql命令确是可以共用的,说白了,SQL就是一种专门管理数据库的一种语言

数据库服务器(硬件)

数据库服务器:就是提供数据库服务的一个计算机,安装了数据库管理系统

数据库系统

数据库系统=数据库管理员+数据库管理系统+数据库

今日数据库操作步骤

  • 数据库操作顺序
  • 第一步:打开数据库服务
  • 第二步:连接数据库
  • 第三步:数据库的‘库操作’

      • 对数据库的增删改查
  • 第四步:进入数据库
  • 第五步:表操作(增加,删除,修改)

数据库服务

启动数据库服务

第一种

右键计算机—管理—服务—MySQL数据库

第二种

Cmd 命令行方式启动

注意:配置path,net start mysql后没有分号;

关闭数据库服务

语法: net stop mysql

MySQL客户端

Windows命令窗口cmd

连接数据库

语法: mysql -h主机名 -P端口号 -u用户名 -p密码

  • -h主机名,默认是localhost(127.0.0.1) ,如果是默认可以不填写
  • -P端口号,默认是3306,如果是默认的可以不填写
  • -u用户名
  • -p密码

优化

退出数据库

\q

Exit

Quit

Windows界面客户端

Navicate (强烈不推荐使用)

Web界面(PHPadmin)

配置web站

解压放置到你的虚拟站点位置

配置虚拟主机

修改host

重启Apache访问站点

我的错误:配置路径的时候多了一个s

连接数据库

登录完成后的效果:

数据库操作

创建数据库

语法:create database 数据库名字;

注意;数据库命名有如下的规则

数据库名字是由字母,数字,下划线组成

数据库名字不能是纯数字

数据库名字不能是数据库的关键字

如果数据库名字是一个数据库关键字,那么用“(反引号)引起来

扩展;创建数据库的时候指定字符集

语法:create database 数据库名字 charset 字符集;

删除数据库

语法: drop database 数据库名字;

修改数据库

修改数据库的名字

这里没有直接修改数据库名字的语法,只能先删除数据库,再重建

修改数据库的字符集

  • alter database 数据库名字 charset 新字符集

  • alter database 数据库名字 charset = 新字符集

  • alter database 数据库名字 default character set 新字符集名字

查看数据库

语法:show databases;

注意:系统数据库不要随意操作

查看数据库创建语句

语法:show create database 数据库名;

数据库保存目录

默认保存路径可以在my.ini中修改

表操作

创建数据表

Create table 表名

(

字段名 类型 [字段属性],

字段名 类型 [字段属性],

字段名 类型 [字段属性] — 最后一个字段后边不加逗号,

)[表属性]

创建表:只是创建了一个表的结构,而没有数据;

字段类型(介绍)

  • 整形 tinyint smallint mediumint int bigint
  • 小数 float double decimal
  • 字符串 char varchar text set enum blob
  • 时间 time date datetime timestamp

字段属性(介绍)

什么是字段属性:字段属性就是对字段的一种约束

  • Not null/null 允许为不为空/空
  • Primary key 主键
  • Unque key 唯一建
  • Comment 说明
  • Atuo_increment 自动增长

表属性(介绍)

  • Charset 表字符集
  • Auto_increment 自动增长
  • Collate 校对集
  • Comment 说明
  • Engine 数据表引擎

案例:创建一个简单表

第一步:数据表创建,是创建到数据库中的,所以呢创建数据表之前应该选定创建到哪个数据库

选择数据库语法: use 数据库名字;

第二步:创建表

英雄技能表案例:

查看数据表

查看当前数据库有哪些数据表(所有的表查看)

语法:show tables;

删除数据表

语法: drop table 表名;

扩展,一次删除多张数据表 drop table 表1,表2…..;

查看表结构

查看表的结构: desc 表名;

查看表创建语法

查看数据表的创建语句

语法; show create table 表名;、

数据简单操作

增加

提前准备:

删除老的hero表,创建新的hero表

执行命令 set names gbk 避免乱码错误

语法: insert [into] 表名 [(插入的字段列表)] values (字段值1,字段值2,字段值3……)

注意:后边的值和前边的字段列表的顺序一定要对应

  • 错误案例:

  • 正确案例:

  • 扩展:省略字段列表插入表数据

表创建的顺序如下

扩展:Select 语句复制表

修改

语法形式如下:

Update 表名 set 字段名 =字段值 where修改条件

  • 修改大头的英雄伤害

结果

注意:修改表数据的时候一般都要指定修改的条件,如果修改不指定条件的话会把整张表的数据都修改

  • 数据多字段的修改

语法:update 表名 set 字段名=值1 ,字段名=字段值…. Where 修改条件

查找

  • 语法:select * from 表名

说明:*代表所有的字段

  • 我们还可已选择查看哪些字段的信息

语法: select 字段1,字段2,字段3,字段4…… from 表名;

  • 查看技能伤害大于50的英雄信息

语法如下:select 字段列表 from 表名 where 条件

删除

语法:delete from 表名 where 删除的条件;

删除前数据

删除成功

删除后数据

注意;这里删除一般都需要制定删除的条件,如果不指定删除的条件那么整张表的数据都会被删除

  • 没有条件的删除

删除前

表属性

表属性就是用来约束表的,限定一些东西

字符集(乱码的解决)

常见的字符集有:utf8 gbk latin1 gb2312

什么是字符集?

字符集就是字符和字符编码的对应关系

什么是字符?

像 a,b,A,V,1中文 等都是字符

什么是字符编码?

比如 ‘a’这个字符在计算机中是以什么形式存的

‘a’在计算机中是以二进制存储的,那么这个二进制的码值就是‘a’的字符编码

‘a’——-10110101 10110101就是a的字符编码

‘b’——-10110110 10110110就是b的字符编码

插入中文数据,插入失败

错误原因

错误解决

插入数据插入成功

查看数据

错误原因

错误解决

再次查看数据

校对集

什么是校对集:校对集就是字符集中的一种比较规则,主要用于排序

Show collation;查看所有的校对集

show collation like ‘utf8_%’;查看utf8的校对集

utf8的两种校对集使用

utf8_general_ci 不区分大小写 (a B c)

utf8_bin 二进制排序 (B a c)

B—-66

a—-97

c—-99

案例:

创建两张表

插入数据

insert into test1 values(‘a’);

insert into test1 values(‘B’);

insert into test1 values(‘c’);

insert into test2 values(‘a’);

insert into test2 values(‘B’);

insert into test2 values(‘c’);

排序查看

数据库引擎

什么是数据库引擎:就是数据库保存表数据的一种方式

常用的数据库引擎有 innodb myisam

默认的数据库引擎是innodb

默认的数据库引擎可以在配置文件中配置

数据库引擎的支持

标签: 关系型层次型数据库数据库引擎数据表网状型表属性
上一篇文章

Mysql(二)修改表结构、 复制表、 字段类型、 数据类型、 重命名表

下一篇文章

PHP 核心编程(五)GD 库、 图片颜色填充、 水印、 缩略图、 验证码

下一篇文章
PHP 核心编程(一)文件上传、 表单传值、 验证文件类型

PHP 核心编程(五)GD 库、 图片颜色填充、 水印、 缩略图、 验证码

发表回复 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Search

没有结果
查看所有结果

About Me

个人随笔

Winston Lee

Programmer

Hello & welcome to my blog! My name is Winston Lee and am a programmer and am keen on sharing.

Winston Lee

About Me

Hello & welcome to my blog! My name is Winston Lee and am a programmer and am keen on sharing.

Categories

  • AJAX
  • BootStrap
  • CodeIgniter
  • CSS
  • DedeCMS
  • GIT
  • HTML
  • Javascript
  • Jquery
  • Laravel
  • Laravel在线教育平台
  • Linux
  • Memcache
  • MongoDB
  • MVC
  • Mysql
  • Nginx
  • Node
  • PDO
  • PHP
  • PHP7
  • PHP基本语法
  • PHP核心编程
  • Redis
  • Smarty
  • Socket
  • SVN
  • Swoole
  • TP3.2
  • TP3.2商城
  • TP5.0
  • TP5.0商城
  • XML
  • Yaf
  • Yii
  • Yii手机直播
  • 二次开发
  • 优化方案
  • 前端技术
  • 前端框架
  • 后台框架
  • 基本操作
  • 微信公众号
  • 数据库
  • 未分类
  • 混合APP
  • 源码Blog项目
  • 版本控制
  • 环境搭建
  • 移动端开发
  • 网站优化
  • 资料
  • 面向对象
  • 面向对象编程
  • 页面静态化

Tags

DOM Json RBAC 事件 传参 函数 分页 判断语句 匿名函数 变量 图片上传 存储过程 安装 对象 封装 属性 接口 控制器 数据库操作 数据类型 数据表 数组 文件上传 无刷新分页 权限 标签 模型 正则 流程控制 目录结构 算法 类 索引 继承 缩略图 表关系 视图 路由 运算符 选择器 递归 配置 错误处理 页面静态化 验证码
  • 首页
  • 前端
  • 前端框架
  • PHP
  • 数据库
  • 优化
  • 后台框架与实战
  • 移动开发
  • 二次开发
  • Linux
  • 版本控制
  • Node.js
  • 资料库

沪公网安备31011502400873 | 沪ICP备2024050435号-3

没有结果
查看所有结果
  • 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库

沪公网安备31011502400873 | 沪ICP备2024050435号-3