mysql 脚本文件是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 脚本文件是啥?相关的知识,希望对你有一定的参考价值。

mysql做一个简单的数据库,老师要求说要提交数据库脚本文件,这个文件在哪里找?或者是要自己写?类似bat文件?具体怎么弄呢?

  mysql 脚本文件就是SQL文件,里面就是建表语句 以.SQL为后缀。
  sql脚本是包含一到多个sql命令的sql语句。
  可以将这些sql脚本放在一个文本文件中(我们称之为“sql脚本文件”),然后通过相关的命令执行这个sql脚本文件。
参考技术A 自己写,就是创建数据库的语句,比如create table a(id int ,my varchar(20))追问

这些是代码我知道、我是想问所谓的脚本文件用不用写成像bat文件那样的一点击直接运行的东东啊?

追答

sql语句是在数据库环境下的可执行语句,不用一点击就执行。

参考技术B 就是SQL文件······里面就是建表语句 以.SQL为后缀本回答被提问者采纳 参考技术C class MyDB_Sql

var $Host = "";
var $lDatabase = "";
var $lUser = "";
var $lPassword = "";
var $lPort="3306";

var $Link_ID = 0;
var $Query_ID = 0;
var $Record = array();
var $Row;

var $Errno = 0;
var $Error = "";

var $Auto_free = 0; ## Set this to 1 for automatic mysql_free_result()
var $Auto_commit = 0; ## set this to 1 to automatically commit results

var $debugmode = 0;

var $Unbuffered = false;

function MyDB_Sql($lHostName,$lDatabase,$lUser,$lPassword,$lPort="3306")
//constructor funtcion

$this->Host=$lHostName;
$this->Database=$lDatabase;
$this->User=$lUser;
$this->Password=$lPassword;
$this->Port=$lPort;


function connect()

if($this->Link_ID == 0)

$this->Link_ID = @mysql_connect($this->Host.":".$this->Port, $this->User, $this->Password);
if (!$this->Link_ID)

$this->halt("Link_ID == false, 连接失败!");

$SelectResult = @mysql_select_db($this->Database, $this->Link_ID);
if(!$SelectResult)

$this->Errno = @mysql_errno($this->Link_ID);
$this->Error = @mysql_error($this->Link_ID);
$this->halt("不能选定数据库<I>".$this->Database."</I>");




function query($lSql,$userMk='Y')

$this->connect();

if ($this->debugmode)
printf("Debug: query = %s<br>\n", $lSql);
@mysql_query("SET NAMES GBK");
if ($Unbuffered)
$this->Query_ID = @mysql_unbuffered_query($lSql,$this->Link_ID);
else
$this->Query_ID = @mysql_query($lSql,$this->Link_ID);
$this->Row = 0;
$this->Errno = @mysql_errno();
$this->Error = @mysql_error();
if (!$this->Query_ID)

WriteLog("SQL错误:", " 原因:[".$this->Errno."]".$this->Error,">>",TEMPDIR);
$this->halt("Invalid SQL: ".$lSql);


return $this->Query_ID;


function next_record()

$this->Record = @mysql_fetch_array($this->Query_ID);
$this->Row += 1;
$this->Errno = mysql_errno();
$this->Error = mysql_error();

$lStat = is_array($this->Record);
if (!$lStat && $this->Auto_free)

@mysql_free_result($this->Query_ID);
$this->Query_ID = 0;

return $lStat;


function seek($lPos)

$lStatus = @mysql_data_seek($this->Query_ID, $lPos);
if ($lStatus)
$this->Row = $lPos;
return $lStatus;


function affected_rows()

return @mysql_affected_rows($this->Link_ID);


function num_rows()

return @mysql_num_rows($this->Query_ID);


function p($lName)

print $this->Record[$lName];


function insert_id()

return @mysql_insert_id($this->Link_ID);


function halt($lMsg)

$lErrText1="数据库错误:".$lMsg.";";
$lErrText2="MySQl错误:".$this->Errno.":".$this->Error.".";



function gshowtables()
return @mysql_list_tables($this->Database,$this->Link_ID);


function Dbclose()
return @mysql_close($this->Link_ID);


从 PHP 脚本获取和解释 XML 文件响应的最简单方法是啥? [复制]

【中文标题】从 PHP 脚本获取和解释 XML 文件响应的最简单方法是啥? [复制]【英文标题】:Which is the easiest approach to get & interpret a XML file response from a PHP script? [duplicate]从 PHP 脚本获取和解释 XML 文件响应的最简单方法是什么? [复制] 【发布时间】:2012-03-31 18:38:13 【问题描述】:

可能重复:Best XML Parser for PHPUsing JAXB with Google Android

我需要在我的 Android 应用中添加一个简单的功能。

我必须连接到这个虚构的脚本:http://test/getMagazinesList.php

脚本会返回一个像这样的 XML 文件:

<magazines>
 <magazine title="APP 1" id="1">
  <description>Prueba real</description>
   <miniature>http://web/miniature.jpg</miniature>
 </magazine>
 <magazine title="APP 2" id="2">
  <description>Prueba real 2</description>
   <miniature>http://web/miniature2.jpg</miniature>
 </magazine>
 <magazine title="APP 3" id="3">
  <description>Prueba real 3</description>
   <miniature>http://web/miniature3.jpg</miniature>
 </magazine>
</magazines>

目标是将 XML 的所有信息存储在这些 MagazinePreview 对象的列表中:

public class MagazinePreview 
String title;
String id;
String description;
String miniatureUrl;
Bitmap miniature;
public MagazinePreview(String title, String id, String description,
        String miniatureUrl) 
    super();
    this.title = title;
    this.id = id;
    this.description = description;
    this.miniatureUrl = miniatureUrl;
       

连接到该 PHP 并获取 XML 并解释它以将信息存储在 MagazinePreview 类对象列表中的最简单方法是什么?

谢谢

【问题讨论】:

以及右侧相关部分中更多合适的副本。提问前请使用搜索功能。 Do your homework. 你也可以参考这里。 ***.com/questions/4624440/… @Pableras84 “最简单的方法”没有建设性。据我所知,OP 只是询问如何处理 XML,我们得到了任何语言的答案。 这里没有提及 PHP 【参考方案1】:

您可以为此使用Simple XML。

用这些注释装饰你的MagazinePreview 类:

public class MagazinePreview 

  @Attribute
  String title;
  @Attribute
  String id;
  @Element
  String description;
  @Element(name="miniatura")
  String miniatureUrl;
  Bitmap miniature;
  public MagazinePreview(String title, String id, 
                         String description, String miniatureUrl) 
  
    super();
    ...
     

现在为您的杂志收藏添加一个类。添加一个执行 XML 字符串反序列化的方法,在执行过程中实例化您的对象:

@Root
public class MagazinePreviews

  @ElementList(name="magazines")
  ArrayList<MagazinePreviews> previews;

  public static MagazinePreviews Load(String xml)
  
    Serializer serializer = new Persister();
    return serializer.read(MagazinePreviews.class, xml);
  

这将为您提供一个 MagazinePreviews 实例,其中包含您的 MagazinePreview 实例。简单的 XML 完成了所有繁重的工作。它将使用注解(@Element@Attribute)来知道哪些数据应该放在哪些字段中。

您仍然需要一种方法来连接到您的 PHP 服务器脚本。假设它是一个简单地返回 XML 字符串的脚本,你可以使用这个:

public String getXML() throws Exception

  StringBuilder builder = new StringBuilder();
  HttpClient httpclient = new DefaultHttpClient();
  HttpGet httpget = new HttpGet("myscript.php");
  HttpResponse response = httpclient.execute(httpget);
  int statuscode = response.getStatusLine().getStatusCode();
  if(statuscode == 200)
  
    HttpEntity entity = response.getEntity();
    InputStream content = entity.getContent();
    BufferedReader reader = new BufferedReader(new InputStreamReader(content));
    String line;
    while ((line = reader.readLine()) != null)  builder.append(line);               
  
  else throw new Exception("HTTP error: " + String.valueOf(statuscode));
  return builder.toString();

此代码在服务器上调用您的 PHP 脚本,检索响应(假定为 XML 字符串),或在请求失败时抛出错误。

【讨论】:

我可以在没有任何限制的商业应用上使用 SimpleXML 吗? 为什么在字符串 minituraUrl 之前使用 "@Element(name="miniatura")"; ??还有,为什么title & id 是属性,而description 是元素? 您可以不受任何限制地使用 SimpleXML。您必须对 XML 属性使用 @Attribute 注释,对 XML 元素使用 @Element 注释。我将@Element(name="miniatura") 用于“String mini-Url”,因为字段名称与 XML 中使用的名称不同。 谢谢,我现在明白了。现在的问题是如何将我用你最后一种方法获得的字符串 xml 转换为对象杂志预览。我怎样才能实现最后一件事? 当然是调用MagazinePreviews.Load(String xml) 方法。

以上是关于mysql 脚本文件是啥?的主要内容,如果未能解决你的问题,请参考以下文章

在mysql中使用持久连接的目的和好处是啥?

执行sql命令是要求输入参数值是啥意思

电脑里的启动脚本是啥意思,在那地方?

CS1.6脚本是啥

脚本的作用是啥

shell脚本中的$*,$@和$#分别是啥意思?