将SQL文件倒入数据库?是什么意思?
是不是在PHP文件中执行SQL语句?
给你一个例子,你先看看吧,我已经试过了,可以成功执行:<?php
//----------------begin
$hostname='localhost:3306';
$username= 'test';
$password='test';
$dbname='learndb';
$link_id=mysql_connect($hostname,$username,$password);
$str_sql="create table php_script
(
key_script int(10) unsigned DEFAULT '0' NOT NULL auto_increment,
date_created datetime DEFAULT '0000-00-00 00:00:00',
date_updated datetime DEFAULT '0000-00-00 00:00:00',
flag_deleted enum('Y','N') DEFAULT 'N' NOT NULL,
script_name VARCHAR(20) NOT NULL,
script_size VARCHAR(10) NOT NULL,
script_describe VARCHAR(200) NOT NULL,
author_name VARCHAR(20) NOT NULL,
author_email VARCHAR(20) NOT NULL,
author_homepage VARCHAR(30) NOT NULL,
primary key (key_script)
)";
$result=mysql_db_query($dbname,$str_sql,$link_id);
if ($result)
{
echo "ok! Table $tablename has been created!";
}
else
{
echo "Failed!";
}
//----------------end
?>
是不是在PHP文件中执行SQL语句?
给你一个例子,你先看看吧,我已经试过了,可以成功执行:<?php
//----------------begin
$hostname='localhost:3306';
$username= 'test';
$password='test';
$dbname='learndb';
$link_id=mysql_connect($hostname,$username,$password);
$str_sql="create table php_script
(
key_script int(10) unsigned DEFAULT '0' NOT NULL auto_increment,
date_created datetime DEFAULT '0000-00-00 00:00:00',
date_updated datetime DEFAULT '0000-00-00 00:00:00',
flag_deleted enum('Y','N') DEFAULT 'N' NOT NULL,
script_name VARCHAR(20) NOT NULL,
script_size VARCHAR(10) NOT NULL,
script_describe VARCHAR(200) NOT NULL,
author_name VARCHAR(20) NOT NULL,
author_email VARCHAR(20) NOT NULL,
author_homepage VARCHAR(30) NOT NULL,
primary key (key_script)
)";
$result=mysql_db_query($dbname,$str_sql,$link_id);
if ($result)
{
echo "ok! Table $tablename has been created!";
}
else
{
echo "Failed!";
}
//----------------end
?>
"localhost"改为你的机器名,MySql的默认端口"3306"如果你没有改成别的,就不用动了,“$username“、“$password“、“$dbname“后面的值改为与你机器上相应的参数值.
先建一个数据库名;然后点击phpmyadmin左frame的你的数据库名,
在右边找到“在下面指定的数据库中运行 SQL 语句:Or 文本文件的位置 :
在"浏览..."找到你的sql文件,打开就可以了!
直接在OS Shell输入
mysql -u root -p < sql.sql(路径要对)
不就解了。。
mysql:
mysql>source yourfile.sql
oracle:
sql> start yourfile.sql
或者
sql>@yourfile.sql
首先将所有sql命令保存成sql.txt文件(必须为标准格式,比如是phpMyAdmin中导出的表结构和数据)然后自己写一段程序来完成批量处理,大致如下:读取文件,剔除以"#"开头的行并以";"劈开整个文件,这样每个部分便是一句完整的sql语句,使用循环来执行所有语句,处理函数如下:
function readSql($filename)
{
$fp = file($filename);
$rowsNum = count($fp);
for($j = 0; $j < $rowsNum; $j++)
{
if((trim($fp[$j])<>"")&&(substr(trim($fp[$j]),0,1)<>"#"))
{
$str.=trim($fp[$j]);
}
}
$str_sql=explode(";",$str);
return $str_sql; //返回一个字符串数组
}