MySQL数据库

目录

1.数据库入门

2.数据库和数据表的操作

3.数据的插入、更新与删除

4.数据完整性的实现

5.单表查询

6.多表查询


数据库入门

什么是数据库?


数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。

每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据

我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。

所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

RDBMS 即关系数据库管理系统(Relational Database Management System)的特点:

  • 1.数据以表格的形式出现
  • 2.每行为各种记录名称
  • 3.每列为记录名称所对应的数据域
  • 4.许多的行和列组成一张表单
  • 5.若干的表单组成database

字符串型

MySQL PHP 语法

MySQL 可应用于多种语言,包括 PERL, C, C++, JAVA 和 PHP,在这些语言中,MySQL 在 PHP 的 web 开发中是应用最广泛。

在本教程中我们大部分实例都采用了 PHP 语言。如果你想了解 MySQL 在 PHP 中的应用,可以访问我们的 PHP 中使用 MySQL 介绍

PHP 提供了多种方式来访问和操作 MySQL 数据库记录。:

PHP MySQL 函数格式如下:

mysqli_function(value,value,...);

数据库和数据表的操作

·注释语句

 语句1: --单行注释

 语句2: #单行注释

 语句3: /*多行注释*/

·登录MySQL服务器时选择数据库

 语法如下: 

mysql -u用户名 -p[密码] 数据库名

·MySQL创建数据库,我们可以在登陆 MySQL 服务后,使用 create 命令创建数据库

 语法如下:

create database 数据库名;

·查看MySQL服务器下的所有数据库

 语法如下:

show databases;

·查看指定数据库的创建信息

 语法如下:

show create database 数据库名;

·选择数据库

 语法如下:

use 数据库名;

·删除数据库

 语法如下:

drop database 数据库名;

·创建数据表

create table<表名>(
列名1 数据类型[列/行级约束...],
......
列名2 数据类型[列/行级约束...],
......
列名3 数据类型[列/行级约束...]
);

·修改表结构

    修改字段

    新增字段

    删除字段

alter table 数据表名 drop[column]字段名;

    修改表名

#格式1
alter table 旧表名 rename[to|as] 新表名;
#格式2
rename table 旧表名1 to 新表名1[,旧表名2 to 新表名2...];

·查看当前MySQL支持的所有字符集

 语法如下:

#语句1
show char set;
#语句2
show character set;

·查看MySQL可用的校对集

show collation;

·字符集的变量说明

 数据的插入、更新与删除

·插入数据

 语法如下:

insert [into] 表名[(字段1,字段2,...)]
values (值1,值2,...)[,(值1,值2,...),...];

 关于insert语句的赋值问题

  (值1,值2,...)中的值:可以是常量,变量,函数,表达式,及null,0,default等;

    字符串常量:使用英文单引号将字符串括起来,用来标识这是一个字符串, 如'abc';

    日期时间常量:使用英文单引号将其括起来,如'2021-01-26'

    数值常量:不需要使用任何符号标识,直接书写数字即可,如1000;

    变量、函数、表达式、NULL、 0、DEFAULT:不需要使用任何符号标识,直接书写即可;

    字符串常量是区分大小写的:如'abc'、 'ABC'、 'Abc' 是不一样的。

 关于空、空串、空格串的说明

     NULL:空、空值,表示值未知、不确定的值;

     ":空串,表示空字符串,一个字符都没有;

     ' ':空格串,表示含有空格的字符串,有一个或多个空格;

     '0' :只有一个数字0的字符串;

      0:取值为数值0。

·修改数据

 语法如下:

update 表名
set 字段名1=值1[,字段名2=值2,...]
[where 条件表达式];
--例1 将作者是张三的书名由“计算机方法”改为“数值计算”
update bookinfo
set bookname='数值计算'
where author='张三';

·删除数据

 语法如下:

delete from 表名[where 条件表达式];
--例1 删除表bookinfo中姓名为李四的记录
delete from bookinfo
where author='李四';

数据完整性的实现

·数据完整性的定义

 在MySQL中,为了防止数据表中插入错误数据,定义了一些维护数据完整性的规则,即为表的约   束。数据完整性是指数据的正确性、完备性和一致性,它是衡量数据库质量好坏的重要标准。数     据完整性要确保数据库中数据一致、准确,同时符合业务单位规则。因此,满足数据完整性要求   的数据应具有以下特点:

 1.数据类型准确无误。

 2.数据的值满足范围设置。

 3.同一表格数据之间不存在冲突。

 4.多个表格数据之间不存在冲突。

·数据完整性类型

 ·表的约束简介

·主键约束(primary key)

 主键可唯一标识表中的记录, 通过主键可以快速查找表中的某条信息,就好比身份证可以用来标   识人的身份一样。

·唯一约束(unique)

 唯一约束保证数据表中字段的唯一性,即表中字段的值不能重复出现。

·primary key和unique约束的区别

 ·外键约束(foreign key)

 外键:特指两张表的公共列,在一张表是主键或唯一 键,在另一张表则可以定义为外键。外键表示两   个表之间的相关联系。

·创建外键

foreign key(外键列名) references 住表名(被引用列名)

单表查询

 ·基础查询

 语法如下:

select [distinct] *|{字段1,字段2,字段3,...}
from 表名
[where 条件表达式1]
[group by 字段名 [having 条件表达式2]]
[order by 字段名 [asc|desc]]
[limit [offset,] 记录数];

·改变列标题的显示

 语法如下:

字段名 as 标题名 或 字段名 标题名;

·比较条件的使用

 ·比较条件的组合使用

 ·distinct 关键字

 实际应用中,出于对数据的分析需求,有时需要去除查询记录中重复的数据。
 可使用DISTINCT(去重复值子句)去除重复记录(消除重复行,只保留一条)。

 语法如下:

distinct 字段名1 [,字段名2]...

·order by子句

 在项目开发时,为了使查询的数据结果满足用户的要求,通常使用ORDER BY(排序子句)对查询   出的数据进行上升或下降的排序。

 语法如下:

order by 字段名[asc|desc]
--asc升序,desc降序

·limit关键字

 对于一次性查询出的大量记录, 不仅不便于阅读查看,还会浪费系统效率。

 MySQL中提供了一个关键字LIMIT(限量子句), 可以限定记录的数量,也可以指定查询从哪一条   记录开始(通常用于分页)。

 语法如下:

limit [偏移量,]记录数

·group by子句

 分组统计:在应用中,通常需要对数据按照某个或多个字段进行分组统计。

  语法如下:

group by 字段名

多表查询

 ·内连接

  语法如下:

select 查询列表
from 表1,表2
where 表2.公共列=表1.公共列;
select 查询列表
from 表1 [inner] join 表2
on 表2.公共列=表1.公共列;

·子查询

 子查询: SQL语句中嵌套SELECT语句,又称嵌套查询

 可使用子查询的语句: SELECT、 DELETE、 UPDATE、 INSERT、CREATE TABLE

 SELECT嵌套: SELECT语句嵌套SELECT语句,首先会执行内层查询(子查询),然后将返回的结   果作为外层查询(主查询)的过滤(筛选)条件或数据源。

 子查询出现的位置: where后、 from后

 where子查询:子查询作为查询条件

 from子查询:子查询作为表

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值