学有小成-mysql数据库-01

一数据库简介

1概念

数据库中持久存储数据的介质。

计算机中的数据库,就是能够高效的组织与管理数据的介质(内存、硬盘)

2数据库的发展史

网状数据库

是指以处理记录类型为节点的网络模型来存储与管理数据的。

层次数据库

层次数据库是网状数据库之后的一种数据库,将数据组织成一种有序有向的树状结构。

关系数据库

就使用二维表模型来存储与管理数据库的。

3关系型数据库(纯理论)

关系型数据库就是使用关系模型来组织与管理数据的数据库。

关系模型就是二维表模型,而一个关系型数据库是由多个二维表及表之间的联系组成的数据库的集合。

关系:关系就是具有行列结构的表格,每个关系都有一个关系名,对应数据库中的数据表。

元组:元组可以理解为二维表中的一行,也就是数据表中的一条记录。

属性:属性可以理解为二维表中的一列,也就是数据表中的一个字段

域:是限制属性的取值范围,也就是对列的一种约束。

关键字:能够唯一标识元组(记录),一组属性(字段)

4常见的关系型数据库

系型数据库

大型数据库:Oracle(甲骨文)、DB2(IBM公司)

中型数据库:SQL Server(微软公司)、MySQL(甲骨文)

小型: Access(微软公司)

非关系型数据库noSQL

MangoDB、Redis

5sql简介

Structure  Query  Language结构化查询语言,主要用于对数据进行操作

DML Data Manuplation Language 数据操作语言 update、insert、delete

DQL Data Query Language 数据查询语言 select

DDL Data Defination Language 数据库定义语言 create

DCL Data Control Language 数据控制语言 grant

TCL Transaction Control Language 事务控制语言

二访问数据库

1MySql服务器的管理

可以通过Window的服务管理器:

2登录mysql数据库服务器

工具:客户端部分mysql.exe文件,运行环境是cmd窗口。

语法:

mysql  -h服务器的地址   -P端口号  -u用户名   -p密码

说明:

-h mysql服务器的地址 localhost表示本机  127.0.0.1表示本机,如果是本机可以省略

-P 端口号,默认是3306 如果是默认可以省略

-u 用户名 默认的帐户root是管理员帐户

-p 密码 不建议在-p后直接输入密码(注意)

示例:

3mysql的层次结构

DBMS DataBase Management System数据库管理系统

DB DataBase 数据库

Table 数据表(对应现实中的表格)

Record 数据表中的一行

Fields 数据表中的一列

三数据库的基本操作

1查看数据库

语法:

show databases;

说明:

查看当前有多少个数据库存在。

示例:

test是一个测试数据库,可以删除。其他余三个数据库MySQL的系统数据库。

2创建数据库

语法:

create database 数据库名 【库选项】

说明:

用于创建数据库,数据库名不要与MySQL的关键字重复,如果真的需要使用关键字,必须使用反引号(``)将数据库名括起来。

【库选项】

charset 用于设置存储字符集

collate 用于设置校验集

示例:

当创建一个数据库后,会在硬盘中创建同名的一个文件夹。

MySQL的语句规则:

每一条语句后必须使用;结束。分号与加车的作用是将客户cmd窗口中输出的命令或数据传递远程的服务器。

3查看数据库的创建语句

语法:

show create database 数据库名;

说明:

用于查看数据库的创建语句,可能获取库选项的相关信息。

4删除数据库

语法:

drop database 数据库名;

示例:

5选择数据库

语法:

use 数据库名;

说明:

由于表是存储在某个具体的库中的,所以要对表操作,需先进入到指定的数据库

扩展:

\s 可以查看数据库的信息,其中包含当前所在的数据库信息

四数据表的基本操作

1设置客户端的通讯编码

语法:

set names 客户端的字符集

说明:

用于明确的告诉服务器,当前客户端与之通讯的编码是什么。

示例:

2查看数据表

语法:

show tables;

说明:

查看当前数据库中有多少个数据表存在

示例:

3创建数据表

语法:

create  table  表名(

字段名 列类型 【列属性】,

字段名 列类型 【列属性】,

….

)【表选项】

说明:

列类型就是所定义的列的取值限制(对应程序中的数据类型)

【表选项】

charset 设置存储字符集

collate 设置校验集

engine 存储引擎

示例:

提示:

当创建一个表后,仅是创建了一个表的结构(表头)

4查看表结构

语法:

desc 表名;

5查看表的创建语句

语法:

show create table 表名;

6删除表

语法:

drop table 表名;

示例:

五数据的基本操作

1增加数据

语法:

insert  into 表名【(字段列表)】 values(值列表)

说明:

字段列表中字段名不需要加引号

值列表中的字符型的值必须加引号。

字段列表中字段的个数要与值列表中值的个数一致,而且顺序也一要致。

字段列表也可以省略,如果省略那表示全部字段插入数据。值列表中值的顺序要与表中的字段的顺序一致。

示例:

2查看数据

①、语法:

select *|字段列表 from 表名 【where子句】【group by子句】【having子句】【order by子句】【limit子句】

说明:

*    所有的字段

字段列表 用于查看部分字段。

示例:

②、where子句

【where子句】

根据where子句的表达式,对记录进行筛选。即是表达式,就会涉及到运算符。

MySQL的运算符:

>、<、>=、<=、<>、=、and、or、not、between m and n、in(值列表)、is null、like

= 用于判断是不相等,同也是赋值运算符

and、or 逻辑与、逻辑或

between m and n 字段的值介于m与n之间

in(值列表) 字段的值等于值列表中的某一个

is null 专用于判断null值的运算符

like 用于模糊查询,必须与两个占位符进匹配使用

占位符:%、_

% 代表当前位置及其后0个或多个字符

_ 代表当前位置的1个字符

示例: =

示例:and

示例:between m and n

示例:or

示例:in

示例:is null

示例:not

示例:like %

示例:like _

3修改数据

语法:

update 表名 set 字段1=值, 字段2=值,…  【where 子句】

说明:

根据where子句的条件匹配到的记录进行修改。如果省略where表示所有的记录都匹配。

示例:

4删除数据

语法:

delete from 表名 【where子句】

说明:

将where子句中匹配到的记录进行删除,

对于结构的查看:使用的是show

对于数据的查看:使用的是select关键字

六列类型  详解

1数值型

①、整数型

整数型是一个系列,都是整数,唯一的区别是所能表示的数大小为同而已。

②、小数型

小数型又分为浮点与定点(了解)

浮点类型分为float与double

语法:

float(m,d)

double(m,d)

说明:

m 表示的是总位数

d 表示的是小数位

整数位 m-d

示例:

说明:

对于浮点型会出现精度丢失的问题。

对于float类型仅能精确到5至6位,多于的位会使用0代替

对于double类型仅能精确到14至15位,多于的位会使用0代替

decimal(定点型):

语法:

decimal(m,d)

说明:

m 表示总位数,m最大的取值为65

d 表示小数位,d最大的取值为30

示例:

2字符型

①、定长

语法:

char(len)

说明:

len表示字符的个数。最大是255。

②、变长

语法:

varchar(max)

说明:

max表示字符的个数。理论是65535(会受很多条件限制)

示例:

③、文本类型

text也是一个系列,包含

tinytext、text、mediumtext、longtext,唯一的不同就是所能存储的字符的多少不同。

④、blob类型

blob也是一系列,包含

tinyblob、blob、mediumblob、longblob,唯一的不同就是所能存储的数据的多少不同。

blog可以存储二进制数据

⑤、枚举类型

用于规范数据,只允许用户从多个预定的数据中,选取一个。

语法:
enum(值列表)

示例:

⑥、集合类型

用于规范数据,只允许用户从多个预定的数据中,选取多个。

语法:
set(值列表)

示例:

3、日期时间型

year(2或4) 年份 2表示2位的年份;4表示4位的年份

date 日期 格式: ‘2017-12-4‘

time 时间 格式: ‘17:14:59‘

datetime 日期时间型 格式: ‘2017-12-4 17:14:59‘

timestamp 时间戳,主要的作用是用于记录数据表中记录最后一次被修改的时间。

七字符集与校对集

1字符集

①、查看MySQL所支持的字符集

语法:

show charset;

2效验集

校验集就是某一种字符集中的比较规则。也就是是否区分大小写。

查看校验集

语法:

show collation;

提示:

虽然有很多校验集,但通过观察发现这么多的校验集是以三种方式结尾:

_cs CaseSensitive 大小写敏感(区分大小写)

_ci CaseInsensitive 大小写不敏感(不区分大小写)

_bin 二进制 区分大小写

核验集主要是体现在比较上。

原文地址:https://www.cnblogs.com/Php1989/p/9563968.html

时间: 2024-10-08 13:29:35

学有小成-mysql数据库-01的相关文章

怎样将Sqlserver数据库转成mysql数据库

手上有一个网站之前是用asp.net做的,所使用的数据库是sqlserver,现在打算用PHP+MYSQL架构.因原来的站点有一定排名,直接改版的话,会导致产生很多错误页,网站排名和收录结果要恢复过来就得很久了,且原网站里数据较多,手工转也不现实. 所以现在需要一个将MSSQL转为MYSQL的转移方案,在网上找了很多,要么很复杂,要么根本就不能用(选了几种简单的方法尝试),现在自己测试用下面的方法最简单有效. 本地环境,安装SQLserver 安装MYSQL: 1.MYSQL的工具使用navic

SQLServer数据库转换成MySQL数据库

由于工作需要,系统原先的SQLServer数据库要转换成MYSQL数据库,所以这两天就一直在查阅这方面的资料.最开始,我尝试从SQLServer中导出SQL文件,然后导入到MYSQL数据库中,发现报错,大概意思就是类型不对.后来发现一篇博文,感觉靠谱,一步一步实施下去发现导入是成功了,但是有问题,下面我先将博文内容呈现(转载自:http://www.cnblogs.com/gaizai/p/3237907.html) 一.背景 由于项目开始时候使用的数据库是SQL Server,后来把存储的数据

PDO操作mysql数据库-01

<meta charset="utf-8" /> <?php /*1.什么是PDO---->PHP Data Object PDO扩展为PHP访问数据库定义了一个轻量级的.一致性的接口,它提供了一 个数据库访问抽象层,这样,无论使用什么数据库,都可以通过 一致的函数 执行查询和获取数据 2.PHP PDO配置 在PHP5系列版本中,PDO不是默认支持的,需要手工配置才可以使用. 打开 php.ini 文件,将 extension=php_pdo.dll exte

学有小成-php基础语法-04

一流程控制 计算机中的流程控制可分为三种: 顺序结构 程序自上而下的一个执行过程. 分支结构 根据某一条件将程序转向不同的分支处执行. 循环 计算机最大的特点计算机速度快,计算机主要用于解决重复性的问题. 二分支结构 1if分支 ①.单分支 语法: if(表达式){ //语句体 } 说明: 当表达式成功时,执行语句,如果不成功直接结束if结构,继续其后的语句执行. ②.双分支 语法: if(表达式A){ 语句体A }else if(表达式B){ 语句体B } 说明: 当表达式A成功时,执行语句体

GitLab ce 社区版本修改成mysql方式配置(yum)

Gitlab数据库换成mysql数据库 先安装Mysql 我这里是测试就用Yum安装了 5.6的 编辑yum.repo [mysql56-community] name=MySQL 5.6Community Server baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/ enabled=1 gpgcheck=0 保存后直接运行 yum installmysql-community-server  –y 安装

关于mysql数据库远程访问

mysql数据库安装默认为只能本地访问,若需远程连接需根据不同的操作系统做一些操作 Windows: 新装的mysql本地无法登录,显示为1045错误 mysql#1045(1045Access denied for user 'root'@'localhost' (using password:YES) 解决方法:修改mysql数据库配置文件my.ini,在 [mysqld] 这个下面添加一行  skip-grant-tables 本地可成功访问mysql数据库,但远程访问不了 在本机上修改用

边记边学PHP-(十四)MySql数据库基础操作1

提到数据库,相信都不陌生.比较常见的是SQL Server . Oracle.Access.SQLite等等.当然还有PHP的黄金搭档,MySql数据库.当然我所写的都是MySql的一些基础,我还没有深入的学习这个数据库.深入学习还需要一段时间.但是现在学的基础基本满足我现在的学习需要. 一.MySQL简介 1.MySQL是什么 MySQL是一款安全.跨平台.高效的,并与PHP.Java等主流编程语言紧密结合的数据库系统.该数据库系统是由瑞典的MySQL AB公司开发.发布并支持,由MySQL初

利用Advanced Installer将asp.netMVC连同IIS服务和mysql数据库一块打包成exe安装包

原文:利用Advanced Installer将asp.netMVC连同IIS服务和mysql数据库一块打包成exe安装包 因为业务需要,项目中需要把asp.netmvc项目打包成exe安装程序给客户,让客户直接可以点下一步下一步安装部署web程序,并且同时要将IIS服务和mysql一同安装到服务器上,因为客户的电脑可能是64位也可能是32位,所以在打包的时候就需要打包成两份安装包.研究了几天终于有所收获,下边就是打包的步骤. 打包步骤: 一.前期准备 1.将asp.netmvc发布到本地目录中

PHP链接Mysql数据库的小知识

1:在PHP写隔行变色有三种写法(但是最好的是用js+css) (1)CSS: tr:nth-child(even){             background: #cad9ea;         } even:代表偶数: ood:代表奇数:   (2)PHP: <?php                 if($n %2 == 0){            ?>            <tr style="background: #cad9ea"> <