Mysql插入空间数据

注:推荐MyISAM引擎的数据表来存储地理空间数据

新建数据库和建立表格:

create datebase pictures; 
use parkdb;
create table pictures( PicID int, PicFile blob, SaveTime date, PicTime date, PicLoc POINT ) 

用sql语句插入一条空间数据

insert into pictures values( 1, 'b.img', '2015-7-2 12:00:00', '2015-7-2 11:00:00', POINTFROMTEXT('POINT(10 15)') )

*注:点和线的定义如下line linestring、pgn polygon
点和线的数据插入如下:LINESTRINGFROMTEXT(‘linestring(0 0, 10 10, 20 25, 50 60)’)、POLYGONFROMTEXT(‘polygon((0 0,10 0,10 10,0 10,0 0),(5 5,7 5,7 7,5 7, 5 5))’)*

附注:
1.mysql中插入date日期型数值
insert into test_01 values(‘1983-11-23 00:00:00’)。

2.mysql插入图片

CREATE TABLE `person` ( `p_id` varchar(255) NOT NULL, `p_name` varchar(255) DEFAULT NULL, `p_sex` varchar(255) DEFAULT NULL, `p_age` int(11) DEFAULT NULL, `p_image` longblob, PRIMARY KEY (`p_id`) ) ENGINE=InnoDB DEFAULT CHARSET=gbk
INSERT into person(p_id,p_name,p_sex,p_age) value("asdsadssdsadfff","addsdsa","dddd",113);

update person set p_image = LOAD_FILE('D:\incident1.jpg') where p_id = "asdsadssdsadfff";

*附注:LOAD_FILE(file_name):
读取file_name文件 并以字符串形式返回,使用这个函数时,file_name必须存在于服务器上,而且是完整路径,sql要具有file_name的读取权限,还有该文件的size必须小于数据库 max_allowed_packet的值,否则读取的值为空。如果文件不存在或者sql没有读权限,那么该函数讲返回null, 另外检查LOAD_FILE 函数是否被禁用。这个函数是个危险的函数,很容易利用该函数对数据库攻击。*

你可能感兴趣的:(mysql,数据,空间数据)