目录
数据库相关概念
什么是数据库
数据库的优点
常见的数据库
关系型数据库
MySQL数据库
SQL简介
MySQL 目录结构
MySQL 数据库连接
SQL_DDL_操作数据库
DDL_创建和查看数据库
DDL_修改和删除数据库
SQL_DDL_操作数据表
DDL_数据库约束
DDL_创建和查看和表
DDL_删除表和修改表的结构
SQL_DML_操作数据库
DML_插入表数据
DML_更新表数据
DML_删除表记录
SQL_DQL_ 简单查询数据
DQL_基础查询
DQL_条件查询
DQL_模糊查询
DQL_查询排序
DQL_ 聚合函数
DQL_分组查询
DQL_分页查询
首页 数据库 mysql教程 MySQL学习之DDL、DML及DQL基础总结

MySQL学习之DDL、DML及DQL基础总结

May 19, 2022 am 11:58 AM
mysql

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于DDL、DML、DQL的相关内容,包括了操作数据表、操作数据库、简单查询数据等等内容,下面一起来看一下,希望对大家有帮助。

MySQL学习之DDL、DML及DQL基础总结

推荐学习:mysql视频教程

数据库相关概念

什么是数据库

保存数据的仓库。它体现我们电脑中,就是一个软件或者文件系统。然后把数据都保存这些特殊的文件中,并且需要使用固定的语言(SQL语言/语句)去操作文件中的数据。

  • 存储数据的仓库,数据是具有组织的进行存储
  • 英文名:DataBase,简称 DB

数据库的优点

数据库是按照特定的格式将数据存储在文件中,通过SQL语句可以方便的对大量数据进行操作,数据库是对大量的信息进行管理的高效的解决方案。

常见的数据库

常见的关系型数据库管理系统

我们开发应用程序的时候,程序中的所有数据,最后都需要保存到专业软件中。这些专业的保存数据的软件我们称为数据库。我们学习数据库,并不是学习如何去开发一个数据库软件,我们学习的是如何使用数据库以及数据库中的数据记录的操作。而数据库软件是由第三方公司研发。

在这里插入图片描述

  • Oracle:它是Oracle公司的大型关系型数据库。系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、安全可靠的。但是它是收费的。
  • MYSQL:早期由瑞典一个叫MySQL AB公司开发的,后期被sun公司收购,再后期被Oracle收购。体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。MySQL6.x版本也开始收费。
  • DB2 :IBM公司的数据库产品,收费的。常应用在银行系统中.
  • SQLServer:MicroSoft 公司收费的中型的数据库。C#、.net等语言常使用。
  • SyBase:Sybase公司的。 已经淡出历史舞台。提供了一个非常专业数据建模的工具PowerDesigner。

常用数据库:Java开发应用程序主要使用的数据库:MySQL(5.6)、Oracle、DB2。(原因:开源,免费,功能足够强大,足以应付web开发)

关系型数据库

在开发软件的时候,软件中的数据之间必然会有一定的关系存在。比如商品和客户之间的关系,一个客户是可以买多种商品,而一种商品是可以被多个客户来购买的。

需要把这些数据保存在数据库中,同时也要维护数据之间的关系,这时就可以直接使用上述的那些数据库。而上述的所有数据库都属于关系型数据库。

关系型数据:设计数据库的时候,需要使用E-R实体关系图来描述。

E-R 是两个单词的首字母,E表示Entity实体 R表示Relationship 关系。

  • 1.数据表中的数据之间必然会有一定的关系存在,比如商品和客户之间的关系,一个客户是可以买多种商品,而一种商品是可以被多个客户来购买的。
  • 2.设计数据库的时候,可以使用ER实体关系图来描述表之间的关系,E表示Entity 实体 , R表示Relationship 关系
  • 3.实体:可以理解成我们Java程序中的一个对象。比如商品,客户等都是一个实体对象。在E-R图中使用 矩形(长方形) 表示。
  • 4.属性:实体对象中是含有属性的,比如商品名、价格等。针对一个实体中的属性,我们称为这个实体的数据,在E-R图中使用椭圆表示。
  • 5.关系:实体和实体之间的关系:在E-R图中使用菱形表示。

需求: 使用E-R图描述 客户、商品、订单之间的关系
在这里插入图片描述

MySQL数据库

SQL简介

什么是SQL

Structured Query Language结构化查询语言。SQL语句不依赖于任何平台,对所有的数据库是通用的。学会了SQL语句的使用,可以在任何的数据库使用,但都有特有内容。SQL语句功能强大、简单易学、使用方便。

SQL特点

SQL语句是一个非过程性的语言,每一条SQL执行完都会有一个具体的结果出现。多条语句之间没有影响

SQL作用

SQL语句主要是操作数据库,数据表,数据表中的数据记录

SQL通用语法

  1. SQL语句可以单行或多行书写,以分号结尾。
  2. 可使用空格和缩进来增强语句的可读性。
  3. MySQL数据库的SQL语句不区分大小写,关键字开发中一般大写.
  4. 三种注释
    - 单行注释: -- 注释内容
    - 多行注释: /* 注释内容 */
    - # 注释内容:(mysql特有的单行注释)

SQL分类
SQL是用来存取关系数据库的语言,具有定义、操纵、控制和查询关系型数据库的四方面功能。所以针对四方面功能,我们将SQL进行了分类。

  1. DDL(Data Definition Language)数据定义语言
    用来定义数据库对象:数据库,表,列等。关键字:create drop alter truncate(清空数据记录) show等

  2. DML(Data Manipulation Language)数据操作语言★★★

    在数据库表中更新,增加和删除记录。如 update(更新), insert(插入), delete(删除) 不包含查询

  3. DQL(Data Query Language) 数据查询语言★★★★★
    数据表记录的查询。关键字select。

  4. DCL(Data Control Language)数据控制语言(了解)

    是用来设置或更改数据库用户或角色权限的语句,如grant(设置权限),revoke(撤销权限),begin transaction等。这个比较少用到。

在这里插入图片描述

MySQL 目录结构

在这里插入图片描述

MySQL 数据库连接

MySQL是一个需要账户名密码登录的数据库,登陆后使用,它提供了一个默认的root账号,使用安装时设置的密码即可登录。

启动数据库服务:在打开dos窗口中输入net start MySQL命令
在这里插入图片描述
关闭数据库服务:在打开dos窗口中输入net stop MySQL命令
在这里插入图片描述
连接MySQL:登录格式1:mysql -u用户名 -p密码

mysql -uroot -p123456
登录后复制

在这里插入图片描述
登录格式2:mysql[-h连接主机ip地址 -P端口号3306] -u 用户名 -p 密码

mysql -h 127.0.0.1 -P 3306 -u root -p 123456
登录后复制

在这里插入图片描述
如果连接的是本机:可以省略 -h -P 主机IP和端口。这样就可以登录mysql数据库了

退出exit命令
在这里插入图片描述
显示数据库: show databases;
在这里插入图片描述

SQL_DDL_操作数据库

DDL_创建和查看数据库

创建数据库:

1.直接创建数据库

create database 数据库名;
登录后复制

2.判断数据库是否存在并创建(如果不存在,则创建)

create database if not exists 数据库名;
登录后复制

3.创建数据库并指定字符集(编码表)

create database 数据库名 character set 字符集;
登录后复制

说明:字符集就是编码表名,在mysql中utf8

查看数据库:

1.查看所有数据库

show databases;
登录后复制

2.查看某个数据库的定义信息

show create database 数据库名;
登录后复制

3.查看当前使用的数据库

select database();
登录后复制

使用和切换数据库:

use 数据库名;
登录后复制

DDL_修改和删除数据库

修改数据库:

1.修改数据库字符集

-- alter 表示修改alter database 数据库名 default character set 新字符集;
登录后复制

注意:如果修改数据库指定的编码表是utf8,记住不能写utf-8

Java中的常用编码对应mysql数据库中的编码

Java MySQL
UTF-8 utf8
GBK gbk
GB2312 gb2312
ISO-8859-1 latin1

删除数据库:

1.直接删除

-- drop 删除数据库drop database 数据库名;
登录后复制

2.删除数据库时判断是否存在(如果存在,则删除)

drop database if exists 数据库名;
登录后复制

SQL_DDL_操作数据表

DDL_数据库约束

约束的概念:

  • 约束是作用于表中列上的规则,用于限制加入表的数据

  • 约束的存在保证了数据库中数据的正确性、有效性和完整性

约束的分类:

约束名称 关键字 描述
非空约束 NOT NULL 保证列中所有数据不能有null空值
唯一约束 UNIQUE 保证列中所有数据各不相同
主键约束 PRIMARY KEY 主键是一行数据的唯一标识,要求非空且唯一
检查约束 CHECK 保证列中的值满足某一条件
默认约束 DEFAULT 保存数据时,未指定值则采用默认值
外键约束 FOREIGN KEY 外键用来让两个表的数据之间建立链接,保证数据的一致性和完整性

MySQL5.7不支持检查约束,但写入语句不会报错,MySQL8.0版本支持检查约束

非空约束

非空约束用于保证列中所有数据不能有NULL值

1.建表时添加约束

-- 创建表时添加非空约束create table 表名(
    列名 数据类型 not null,
    ...);
登录后复制

2.建完表之后添加约束

-- 建完表之后添加约束alter table 表名 modify 字段名 数据类型 not null;
登录后复制

3.删除约束

alter table 表名 modify 字段名 数据类型;
登录后复制

唯一约束

唯一约束用于保证列中所有数据各不相同

1.创建表时添加唯一约束

-- 方式1create table 表名(
    字段名 数据类型 UNIQUE,
    ...);-- 方式2create table 表名(
    字段名 数据类型,
    ...
    [CONSTRAINT] [约束名称] UNIQUE(列名));
登录后复制

2.建完表之后添加唯一约束

-- 建完表后添加唯一约束alter table 表名 modify 字段名 数据类型 UNIQUE;
登录后复制

3.删除唯一约束

alter table 表名 drop index 字段名;
登录后复制

主键约束

  • 主键是一行数据的唯一标识,要求非空且唯一
  • 一张表只能有一个主键

1.创建表时添加主键约束

create table 表名(
    字段名 数据类型 PRIMARY KEY [AUTO_INCREMENT],
    -- [AUTO_INCREMENT] 当不指定值时自动增长
    ...);create table 表名(
    列名 数据类型,
    [CONSTRAINT] [约束名称] PRIMARY KEY(列名))
登录后复制

2.建完表之后添加主键约束

alter table 表名 add PRIMARY KEY(字段名);
登录后复制

3.删除主键约束

alter table 表名 drop PRIMARY KEY;
登录后复制

默认约束

保存数据时,未指定值则采用默认值

1.创建表时添加默认约束

create table 表名(
    字段名 数据类型 default 默认值,
    ...);
登录后复制

2.建完表后添加默认约束

alter table 表名 alter 列名 set DEFAULT 默认值;
登录后复制

3.删除约束

alter table 表名 alter 列名 drop DEFAULT;
登录后复制

DDL_创建和查看和表

前提 :创建数据库db1并使用这个数据库

-- 创建数据库create database db1;-- 使用数据库use db1;
登录后复制

创建表:

create table 表名(
    字段名1 字段类型 约束条件,
    字段名2 字段类型 约束条件,
    ...
    字段名n 字段类型 约束条件);-- 注意:最后一个字段不加逗号
登录后复制

创建一个表结构和其他表结构相同的表

create table 表名 like 其他表名;
登录后复制

MySQL中常用的数据类型
在这里插入图片描述
案列需求:

设计一张学生表,要求如下:

  • 学号,要求唯一主键,自增
  • 姓名,不能为空,且唯一
  • 性别,只有男和女,默认值为null
  • 班级,字符串类型
  • 入学时间,取值为年、月、日
  • 数学成绩,double类型,默认为60分
  • 英语成绩,double类型,没有默认值
create table students(
    id int primary key auto_increment,
    name varchar(10) not null unique,
    sex enum('男','女') default null,
    class varchar(10),
    starttime date,
    math int default 60,
    english int);
登录后复制

在这里插入图片描述
查看表:

1.查看某个数据库中所有的表

show tables;
登录后复制

2.查看表结构

desc 表名;
登录后复制

3.查看创建表的SQL语句

show create table 表名;-- 根据该语句查看上面案列的建表sql语句show create table students;
登录后复制

在这里插入图片描述

DDL_删除表和修改表的结构

删除表:

1.直接删除

drop table 表名;
登录后复制

2.删除表时判断表是否存在(如果存在,则删除)

drop table if exists 表名;
登录后复制

修改表:

1.修改表名

alter table 旧表名 rename to 新表名;
登录后复制

2.向表中添加一个字段(一列)

alter table 表名 add 字段名 数据类型;
登录后复制

3.修改表中字段数据类型

alter table 表名 modify 字段名 新的数据类型;
登录后复制

4.修改表中字段名(列名)和数据类型

alter table 表名 change 字段名 新的字段名 新的数据类型;
登录后复制

5.删除表中字段(列)

alter table 表名 drop 字段名;
登录后复制

SQL_DML_操作数据库

DML_插入表数据

1.插入全部字段

-- 全部字段写出来insert into 表名(字段1,字段2,...) values(值1,值2,...);
-- 插入全部不写字段名insert into 表名 values(值1,值2,...);
-- 给案例中的表插入数据insert into students(id,name,sex,class,starttime,math,english) values(1,'张三','男','高三1班','2022-03-02',80,69);
insert into students values(2,'李四','女','高三2班','2022-03-01',70,80);
登录后复制

在这里插入图片描述
2.插入部分数据

-- 插入姓名,班级,入学时间,英语成绩-- id默认增长,性别默认null,数学默认60
insert into students(name,class,starttime,english) values('王五','高三3班','2022-03-02',78);
登录后复制

在这里插入图片描述
说明:插入部分数据的时候,要求列名一定书写出来。

3.批量插入数据

insert into 表名 values(字段值1, 字段值2...),(字段值1, 字段值2...),(字段值1, 字段值2...);
登录后复制

没有添加数据的字段会使用NULL

注意:

  • 值与列一一对应。有多少个列,就需要写多少个值。如果某一个列没有值,可以使用null,表示插入空。

  • 值的数据类型,与列被定义的数据类型要相匹配,并且值的长度,不能够超过定义的列的长度。

  • 字符串:插入字符类型的数据,建议写英文单引号括起来。在mysql中,使用单引号表示字符串

  • date 时间类型的数据也得使用英文单引号括起来: 如yyyy-MM-dd

DML_更新表数据

1.不带条件修改数据

update 表名 set 字段名=新的值,字段名=新的值,...;
-- 注意:不带条件的修改是将数据表中的整列都做修改
-- 修改students表中math的值为90update students set math=90;
登录后复制

在这里插入图片描述
2.带条件修改数据

update 表名 set 字段名=新的值,字段名=新的值,... where 条件;
-- 修改students表中王五的性别为男,数学成绩设置为70update students set sex='男',math=70 where name='王五';
登录后复制

在这里插入图片描述
3.关键字说明

UPDATE: 表示修改记录 
SET: 要改哪个字段WHERE: 设置条件
登录后复制

4.注意

  • 不带条件的更新数据库记录:UPDATE 表名 SET 字段名=新的值;是将整个表中修改的列修改
  • 带条件:UPDATE 表名 SET 字段名=新的值 WHERE 条件

DML_删除表记录

1.不带条件删除

DELETE -- 删除记录DELETE FROM 表名;表还在,可以操作,只是删除数据。
登录后复制

2.带条件删除

DELETE FROM 表名 WHERE 条件;-- 删除学生表中的王五的信息DELETE FROM students WHERE name='王五';
登录后复制

在这里插入图片描述
3.truncate删除表记录(属于DDL)

truncate table 表名;
登录后复制

4.truncate和delete区别

  • delete是将表中的数据一条一条删除
  • truncate是将整个表摧毁,重新创建一个新的表,新的表结构和原来表结构一模一样

SQL_DQL_ 简单查询数据

准备一张学生表,在这张表上进行查询操作
在这里插入图片描述

DQL_基础查询

1.查询所有数据

select * from 表名;
-- 查询学生表中所有的数据select * from students;
登录后复制

在这里插入图片描述
2.查询指定列的数据

select 字段名1,字段名2,... from 表名;
-- 查询姓名和班级这两个字段select name,class from students;
登录后复制

在这里插入图片描述
3.查询到的字段设置别名

select 字段名1 as 别名1,字段名2 as 别名2 from 表名;
-- 查询students表中的字段并设置别名select id as 学号,name as 姓名,sex as 性别,class as 班级 , starttime as 入学时间 from students;
登录后复制

在这里插入图片描述
4.查询到的数据去重

-- DISTINCT  去重复-- 查询班级字段结果不出现重复的select DISTINCT class from students;
登录后复制

在这里插入图片描述

DQL_条件查询

1.条件查询语法

select 字段名1,字段名2,... where 条件列表;
登录后复制

2.条件运算符

符号 功能
> 大于
<小于
>= 大于等于
<=小于等于
=等于
<>或!= 不等于
BETWEEN…AND… 在某个范围内(都包括)
IN(…) 多选一
LIKE 模糊查询,_单个任意字符,%多个任意字符
IS NULL 为空
IS NOT NULL 不为空
AND 或 && 与,并且
OR 或 || 或,或者
NOT 或 ! 非,不是

3.查询数学成绩大于80并且性别为男的学生

-- 两个条件同时满足select * from students where math > 80 and sex='男';
登录后复制

在这里插入图片描述
4.查询英语成绩在60-80之间的学生

-- BETWEEN 值1 AND 值2 -- 表示从值1到值2范围,包头又包尾
select * from students where english between 60 and 80;
select * from students where english>=60 && english<=80;
登录后复制

在这里插入图片描述
5.查询学号为1或者2或者3的学生

-- in里面的每个数据都会作为一次条件,只要满足条件的就会显示select * from students where id in (1,2,3);
登录后复制

在这里插入图片描述

DQL_模糊查询

LIKE:表示模糊查询

select * from 表名 where 字段名 like &#39;通配字符&#39;;
登录后复制

MySQL通配符有两个:

  • %:表示0个或多个字符(任意字符)
  • _:表示一个字符

1.查找名字中以开头的学生

-- &#39;孙%&#39;表示孙后面有任意个字符select * from students where name like &#39;孙%&#39;;
登录后复制

在这里插入图片描述
2.查找名字中以开头的两个字的学习

-- &#39;孙_&#39;表示孙后面只能有一个字符select * from students where name like &#39;孙_&#39;;
登录后复制

在这里插入图片描述

DQL_查询排序

通过ORDER BY子句,可以将查询出的结果进行排序(排序只是显示方式,不会影响数据库中数据的顺序)

-- ASC:升序排序(默认)-- DESC:降序排序select 字段 from 表名 order by 排序字段 [ASC|DESC];
登录后复制

1.单列排序

-- 查询学生的数学成绩按照升序排序select * from students order by math ASC;
登录后复制

在这里插入图片描述
2.组合排序

-- 查询数学成绩升序的基础上,英语成绩降序-- 组合排序就是先按第一个字段进行排序,如果第一个字段相同,才按第二个字段进行排序,依次类推。
select * from students order by math ASC,english DESC;
登录后复制

在这里插入图片描述

DQL_ 聚合函数

之前我们做的查询都是横向查询,它们都是根据条件一行一行的进行判断,而使用聚合函数查询是纵向查询,它是对一列的值进行计算,然后返回一个结果值;另外聚合函数会忽略空值,对于null不作为统计。

1.五个聚合函数

函数名功能
count(列名)统计数量(一般选用不为null的列)
max(列名)最大值
min(列名)最小值
sum(列名)求和
avg(列名)平均值

2.聚合函数语法

select 聚合函数名(列名) from 表名;
登录后复制

注意:null 值不参与所有聚合函数运算

3.查询学生总数

select count(id) from students;-- 通常使用select count(*) from students;
登录后复制

在这里插入图片描述
4.查询最高分和最低分

-- 查询数学最高分和英语最低分select max(math),min(english) from students;
登录后复制

在这里插入图片描述
5.求和求平均值

-- 求该表数学总分和平均值select sum(math),avg(math) from students;
登录后复制

在这里插入图片描述
6.ifnull()函数

-- ifnull(列名,默认值)函数表示判断该列是否为空值,如果为null,返回默认值,如果不为空,返回实际值ifnull(math,60); 
-- 如果数学成绩为null时,返回60,如果不为null,就返回实际值
登录后复制

DQL_分组查询

分组: 按照某一列或者某几列。把相同的数据,进行合并输出。

1.注意

  • 按照某一列进行分组,目的为了统计使用。
  • 聚合函数:分组之后进行计算
  • 通常select后面的内容是被分组的列,以及聚合函数
  • sql语句中的where后面不允许添加聚合函数
  • 可以使用having条件,表示分组之后的条件,在having后面可以书写聚合函数

2.查询各个班级的数学成绩总和

-- 查询每个班的数学成绩总和select class,sum(math) from students group by class;
登录后复制

在这里插入图片描述
3.having用法

having必须和group by 一起使用,having和where的用法一模一样,where怎么使用having就怎么使用,where不能使用的,having也可以使用,比如说where后面不可以使用聚合函数,但是在having后面是可以使用聚合函数的。

-- 查询每个班数学总成绩大于300分的班级并显示总成绩
select class,sum(math) from students group by class having sum(math)>300;
登录后复制

在这里插入图片描述
4.where和having的区别

  • having 通常与group by 分组结合使用。 where 和分组无关。

  • having 可以书写聚合函数 (聚合函数出现的位置: having 之后),例如having中的 聚合函数(count,sum,avg,max,min),是不可以出现where条件中。

  • where 是在分组之前进行过滤的,having 是在分组之后进行过滤的。

DQL_分页查询

1.应用和概念

比如我们登录京东,淘宝,返回的商品信息可能有几万条,不是一次全部显示出来。是一页显示固定的条数。假设我们一每页显示5条记录的方式来分页。
在这里插入图片描述

-- 起始索引:从0开始,索引是0表示数据表第一行数据select 字段列表 from 表名 limit 起始索引,查询条目数;
登录后复制

计算公式:起始索引=(当前页码-1)* 每页显示的条数

注意:

  • 分页查询limit是MySQL数据库的方言
  • Oracle分页查询使用rownumber
  • SQLServer分页查询使用top

2.分页查询

<span style='font-family: "Microsoft Yahei", "Hiragino Sans GB", Helvetica, "Helvetica Neue", 微软雅黑, Tahoma, Arial, sans-serif;'>-- 查询学生表中数据,每四条数据为一页<br>select * from students limit 0,4;<br>select * from students limit 4,4;<br>select * from students limit 8,4;<br>select * from students limit 12,4;<br>...<br>-- 注意:最后一行不够查询条目数,有多少就显示多少</span><br>
登录后复制

3.返回前几条或者中间某几行数据

-- 2表示分页查询的索引,对应数据表是第3行数据,4表示每页显示4条数据
-- 查询从第三行数据开始查询之后的四条数据
select * from students limit 2,4;
登录后复制

在这里插入图片描述
4.SQL执行顺序

SELECT 字段名(5) FROM 表名(1) WHERE 条件(2) GROUP BY 分组列名(3) HAVING 条件(4) ORDER BY 排序列名(6) LIMIT 跳过行数, 返回行数(7);
执行顺序:1234567
登录后复制

顺序:1234567

推荐学习:mysql视频教程

以上是MySQL学习之DDL、DML及DQL基础总结的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

PHP 的大数据结构处理技巧 PHP 的大数据结构处理技巧 May 08, 2024 am 10:24 AM

大数据结构处理技巧:分块:分解数据集并分块处理,减少内存消耗。生成器:逐个产生数据项,无需加载整个数据集,适用于无限数据集。流:逐行读取文件或查询结果,适用于大文件或远程数据。外部存储:对于超大数据集,将数据存储在数据库或NoSQL中。

如何优化 PHP 中的 MySQL 查询性能? 如何优化 PHP 中的 MySQL 查询性能? Jun 03, 2024 pm 08:11 PM

可以通过以下方式优化MySQL查询性能:建立索引,将查找时间从线性复杂度降至对数复杂度。使用PreparedStatements,防止SQL注入并提高查询性能。限制查询结果,减少服务器处理的数据量。优化连接查询,包括使用适当的连接类型、创建索引和考虑使用子查询。分析查询,识别瓶颈;使用缓存,减少数据库负载;优化PHP代码,尽量减少开销。

如何在 PHP 中使用 MySQL 备份和还原? 如何在 PHP 中使用 MySQL 备份和还原? Jun 03, 2024 pm 12:19 PM

在PHP中备份和还原MySQL数据库可通过以下步骤实现:备份数据库:使用mysqldump命令转储数据库为SQL文件。还原数据库:使用mysql命令从SQL文件还原数据库。

如何使用 PHP 插入数据到 MySQL 表中? 如何使用 PHP 插入数据到 MySQL 表中? Jun 02, 2024 pm 02:26 PM

如何将数据插入MySQL表中?连接到数据库:使用mysqli建立与数据库的连接。准备SQL查询:编写一个INSERT语句以指定要插入的列和值。执行查询:使用query()方法执行插入查询,如果成功,将输出一条确认消息。

如何修复 MySQL 8.4 上的 mysql_native_password 未加载错误 如何修复 MySQL 8.4 上的 mysql_native_password 未加载错误 Dec 09, 2024 am 11:42 AM

MySQL 8.4(截至 2024 年的最新 LTS 版本)中引入的主要变化之一是默认情况下不再启用“MySQL 本机密码”插件。此外,MySQL 9.0完全删除了这个插件。 此更改会影响 PHP 和其他应用程序

如何在 PHP 中使用 MySQL 存储过程? 如何在 PHP 中使用 MySQL 存储过程? Jun 02, 2024 pm 02:13 PM

要在PHP中使用MySQL存储过程:使用PDO或MySQLi扩展连接到MySQL数据库。准备调用存储过程的语句。执行存储过程。处理结果集(如果存储过程返回结果)。关闭数据库连接。

如何使用 PHP 创建 MySQL 表? 如何使用 PHP 创建 MySQL 表? Jun 04, 2024 pm 01:57 PM

使用PHP创建MySQL表需要以下步骤:连接到数据库。创建数据库(如果不存在)。选择数据库。创建表。执行查询。关闭连接。

oracle数据库和mysql的区别 oracle数据库和mysql的区别 May 10, 2024 am 01:54 AM

Oracle数据库和MySQL都是基于关系模型的数据库,但Oracle在兼容性、可扩展性、数据类型和安全性方面更胜一筹;而MySQL则侧重速度和灵活性,更适合小到中等规模的数据集。①Oracle提供广泛的数据类型,②提供高级安全功能,③适合企业级应用程序;①MySQL支持NoSQL数据类型,②安全性措施较少,③适合小型到中等规模应用程序。

See all articles