MySQL是目前更流行的关系型数据库之一,其具有高效性、可靠性和稳定性等优点,因此被广泛应用于各种大型网站和企业级应用中。在Web应用程序开发中,常常需要将图片等二进制文件存储在数据库中。本文将介绍如何在MySQL中存储图片,并给出建表指南。
一、为什么要在MySQL中存储图片?
在Web应用程序中,图片是非常常见的一种二进制文件,如果采用传统方式将图片存储在文件系统中,存在很多问题。图片存储方式分散,不利于管理和维护。跨平台访问图片的效率较低。再次,难以对图片进行统一的安全性、权限控制和清理工作等。
而如果将图片存储在MySQL中,则可以很好地解决上述问题。MySQL数据库可以扩展到几乎无限的大小,不会受到单个文件系统的大小和限制的影响。MySQL提供了完善的ACID事务支持和复杂的安全管理机制,可以确保图片存储的安全性和可靠性。MySQL可以兼容各种操作系统和平台,可以方便、高效地实现跨平台访问。
因此,将图片存储在MySQL中,可以为Web应用程序带来更加优秀的性能和易用性。
二、如何在MySQL中存储图片?
将图片存储在MySQL中,需要建立一个包含图片二进制内容的表。
以下是一个简单的建立图片存储表的SQL语句示例:
“`
CREATE TABLE `picture` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL COMMENT ‘图片名称’,
`type` varchar(50) NOT NULL COMMENT ‘图片类型’,
`size` int(11) NOT NULL COMMENT ‘图片大小’,
`data` longblob NOT NULL COMMENT ‘图片数据’,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’图片存储表’;
“`
该表包含5个字段:
– id:图片ID,自增长。
– name:图片名称,不允许为空。
– type:图片类型,不允许为空,通常情况下为“image/jpeg”等MIME类型。
– size:图片大小,单位为字节,不允许为空。
– data:图片数据,采用longblob类型存储,不允许为空。
在插入图片数据时,需要注意以下几个问题:
1. 内存限制:MySQL默认情况下只允许存储更大长度为1MB的二进制数据,如果需要存储更大的数据,需要修改相关配置项。可通过SET GLOBAL max_allowed_packet=xxx命令修改,例如:SET GLOBAL max_allowed_packet=1024*1024*10。
2. SQL注入:为了避免SQL注入攻击,需要将图片数据进行转义或使用预处理语句。
3. 安全问题:为了避免安全问题,建议将图片数据进行加密或压缩,存储时使用二进制模式。
以下是一个简单的插入图片数据的SQL语句示例:
“`
INSERT INTO picture (name, type, size, data) VALUES (?, ?, ?, ?);
“`
在执行该SQL语句时,需要将图片数据以二进制流的形式传递到SQL语句中:
“`
$data = file_get_contents(‘picture.jpg’);
$stmt->bind_param(‘ssib’, $name, $type, $size, $data);
$stmt->execute();
“`
三、如何在Web应用程序中访问MySQL中的图片?
在Web应用程序中,访问MySQL中的图片需要经过以下几个步骤:
1. 查询图片数据:通过SQL查询获取图片数据,例如:
“`
SELECT * FROM picture WHERE id = ?;
“`
2. 输出图片数据:使用Web服务器的输出函数将图片数据输出到浏览器。以下是一个简单的PHP输出图片的示例:
“`
header(‘Content-Type: ‘ . $type);
readfile($data);
“`
其中,$type为图片类型,$data为上一步查询到的图片数据。
四、
将图片存储在MySQL中,可以为Web应用程序带来高效、可靠的图片管理机制。在建立图片存储表时,需要注意表结构设计和数据插入的安全性问题。在Web应用程序中访问MySQL中的图片时,需要注意输出函数的选取和输出内容的安全性问题。通过合理的设计和开发,可以充分发挥MySQL在图片存储和管理中的优势,提高Web应用程序的性能和易用性。
成都网站建设公司-创新互联为您提供网站建设、网站制作、网页设计及定制高端网站建设服务!
是这句:创建一个数据库MYSQLDATA
mysql> CREATE DATABASE MYSQLDATA;
基本操作:MySQL中新建用户,新建数据库,用户授权,删除用户,修改密码的相关操作测试环境:WIN32 mysql5.0.45注:本操作是在WIN命令提示符下,phpMyAdmin同样适用。
用户:phplamp 用户数据库:phplampDB1.新建用户。//登录MYSQL
@>mysql -u root -p
@>密码
//创建用户
mysql> insert into mysql.user(Host,User,Password) values(“localhost”,”phplamp”,password(“1234”));
//刷新系统权限表
mysql>flush privileges;
这样就创建了一个名为:phplamp 密码为:1234 的用户。然后登录一下。mysql>exit;
@>mysql -u phplamp -p
@>输入密码
mysql>登录成功2.为用户授权。//登录MYSQL(有ROOT权限)。我里我以ROOT身份登录.
@>mysql -u root -p
@>密码
//首先为用户创建一个数据库(phplampDB)
mysql>create database phplampDB;
//授权phplamp用户拥有phplamp数据库的所有权限。
>grant all privileges on phplampDB.* to identified by ‘1234’;
//刷新系统权限表
mysql>flush privileges;
mysql>其它操作/*
如果想指定部行笑分权限给一用户,可哪扰以这样来写:
mysql>grant select,update on phplampDB.* to identified by ‘1234’;
//刷新系统权限表。
mysql>flush privileges;
*/3.删除用户。@>mysql -u root -p
@>密码
mysql>DELETE FROM user WHERE User=”phplamp”李带旦 and Host=”localhost”;
mysql>flush privileges;
//删除用户的数据库
mysql>drop database phplampDB;4.修改指定用户密码。@>mysql -u root -p
@>密码
mysql>update mysql.user set password=password(‘新密码’) where User=”phplamp” and Host=”localhost”;
mysql>flush privileges;5.列出所有数据库mysql>show database;6.切换数据库mysql>use ‘数据库名’;7.列出所有表mysql>show tables;8.显示数据表结构mysql>describe 表名;9.删除数据库和数据表mysql>drop database 数据库名;
mysql>drop table 数据表名;1:使用SHOW语句找出在服务器上当前存在什么数据库:
mysql> SHOW DATABASES;
2:2、创建一个数据库MYSQLDATA
mysql> CREATE DATABASE MYSQLDATA;
3:选择你所创建的数据库
mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!)
4:查看现在的数据库中存在什么表
mysql> SHOW TABLES;
5:创建一个数据库表
mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
6:显示表的结构:
mysql> DESCRIBE MYTABLE;
7:往表中加入记录
mysql> insert into MYTABLE values (“hyq”,”M”);
8:用文本方式将数据装入数据库表中(例如D:/mysql.txt)
mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE MYTABLE;
9:导入.sql文件命令(例如D:/mysql.sql)
mysql>use database;
mysql>source d:/mysql.sql;
10:删除表
mysql>drop TABLE MYTABLE;
11:清空表
mysql>delete from MYTABLE;
12:更新表中数据
mysql>update MYTABLE set sex=”f” where name=’hyq’;
1、打开电脑的SQL软件 ,输入用户名和密码,连接上Mysql主机地址,将Mysql启动。
2、进桐冲入Mysql里面后,用鼠标右键点击主机,然后会弹出菜单栏,点击里面的“创建数据库”,也可吵键以使用快捷键Ctrl+D。
3、接着会出现“创建数据库”的窗口,为创建的数据库取名,并选择“基字符集”为“UTF-8”,升轮巧然后点击创建。
4、这样子就完成了数据库的创建动作,这时候可以发现左边多了个刚刚命名的数据库。
1、安装:
首先要安装MySQL,并且配置信息。创建一个
快捷键
到桌面上,双击软件,打开软件,界面如下图所示,什么都没有,我们要先创建一个连接。
2、创建连接:
文件→新建连接,如下图所示,会弹出一个对话框,信息游孝好填写正确。
3、测试连接:
(1)在弹出的新建连接对话框中要填写好连接名、主机名、端口、
用户名
和密码。
(2)填写好神孙稿之后,单击“测试连接”,弹出“连接成功”,就按确定。
4、填写内容:
会看到左边出现了我们刚才创建的连接,里面有很多的数据,我们可以右击连接,选择新建数据库。填写数据库的名称和
字符编码
。
字符集
下拉框中列凯含表比较多,可以输入关键字进行过滤,如图,输入utf即可过滤出以utf开头的字符集,一般常用的utf-8和gbk字符集
排序规则的选择需要注意的是,utf8_general_ci、utf8_general_cs、utf8_bin的区别,ci全称为case insensitive,意思是大小写不敏感,cs区分大小写,bin是以二进制数据存储,且区分大小写。如果要求数据库不区分大小写,则需要选择ci结尾的。
5、新建表:
最终结果如图所示,还可以右击数据库,选择新建表。
参考资料:
百度百科-SQL数据库
创建数据库就是在系统磁盘上划分一块区域用于存储和管理数据。
基本语法格式
其中“db_name”是将要创建的数据库名称,该名称不能与已经存在的数据库重名。
实例
创建数据库 shulanxt,输入语句如下:
按回车键执行语冲辩皮句,创建名为散差shulanxt的灶昌数据库。
-from 树懒学堂
MySQL数据库系统可以支持许多不同的数据库,通激察常,每个应用程序需要一个数据库。
在Book-O-Rama例子中,数据库名为books。
创建数据库是最容易的部分。在mySQL命令提示符下,输入如下所示命令:
MySQL>create datebase dbname;
应该用所希望的数据库枝铅罩名称来代替”dbname”字符串。
在Book-O-Rama例子中,要创建一个名为books的数据库。
就这样应该会看到如下所示的响应(执行时间会因为机器不同而不同):
Query ok,1 row affected(0.0 sec)
如果出现上诉字段意味着一切正常。
如果没有得到响应,请确认在上面的命令行后面输入分号,分号将告诉mySQL已经完成猛闹了命令输入,该执行命令了。
关于mysql数据库建表储存图片的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
四川成都云服务器租用托管【创新互联】提供各地服务器租用,电信服务器托管、移动服务器托管、联通服务器托管,云服务器虚拟主机租用。成都机房托管咨询:13518219792
创新互联(www.cdcxhl.com)拥有10多年的服务器租用、服务器托管、云服务器、虚拟主机、网站系统开发经验、开启建站+互联网销售服务,与企业客户共同成长,共创价值。
标题名称:MySQL如何存储图片:建表指南(mysql数据库建表储存图片)
转载源于:http://www.mswzjz.cn/qtweb/news44/455144.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能