下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

如何在线学习mysql原理?

作者:课课家教育     来源: http://www.kokojia.com点击数:801发布时间: 2016-03-22 17:36:11

标签: 在线mysql培训mysql原理mysql学习

  MySQL,一种数据库,那么它的操作是怎样?这有利于我们加深对mysql的理解,更好的学习mysql。

  MySQL是最流行的开源数据库服务器。

如何在线学习mysql原理?_mysql原理_mysql学习_课课家

  什么是MySQL?

  MySQL是一种数据库。数据库定义了存储信息的结构。

  在数据库中,存在着一些表。类似HTML表格,数据库表含有行、列以及单元。

  在分类存储信息时,数据库非常有用。一个公司的数据库可能拥有这些表:"Employees","Products","Customers"以及"Orders"。

  数据库表

  数据库通常包含一个或多个表。每个表都一个名称(比如"Customers"或"Orders")。每个表包含带有数据的记录(行)。

  下面是一个名为"Persons"的表的例子:

  

  上面的表含有三个记录(每个记录是一个人)和四个列(LastName,FirstName,Address以及City)。

  查询

  查询是一种询问或请求。

  通过MySQL,我们可以向数据库查询具体的信息,并得到返回的记录集。

  请看下面的查询:

  SELECTLastNameFROMPersons

  上面的查询选取了Persons表中LastName列的所有数据,并返回类似这样的记录集:

  下载MySQL数据库

  如果您的php服务器没有MySQL数据库,可以在此下载MySQL:http://www.mysql.com/downloads/index.html

  FactsAboutMySQLDatabase

  关于MySQL的一点很棒的特性是,可以对它进行缩减,来支持嵌入的数据库应用程序。也许正因如此,许多人认为MySQL仅仅能处理中小型的系统。

  事实上,对于那些支持大数据和访问量的网站,MySQL是事实上的标准数据库(比如Friendster,Yahoo,Google)。这个地址提供了使用MySQL的公司的概览:http://www.mysql.com/customers/。

  PHPMySQL连接数据库

  MySQL简介

  MySQLCreate

  免费的MySQL数据库通常是通过PHP来使用的。

  连接到一个MySQL数据库

  在您能够访问并处理数据库中的数据之前,您必须创建到达数据库的连接。

  在PHP中,这个任务通过mysql_connect()函数完成。

  语法

  mysql_connect(servername,username,password);

  参数 描述

  

  注释:虽然还存在其他的参数,但上面列出了最重要的参数。请访问W3School提供的PHPMySQL参考手册,获得更多的细节信息。

  例子

  在下面的例子中,我们在一个变量中($con)存放了在脚本中供稍后使用的连接。如果连接失败,将执行"die"部分:

  $con=mysql_connect("localhost","peter","abc123");

  if(!$con)

  {

  die('Couldnotconnect:'.mysql_error());

  }

  //somecode

  ?>

  关闭连接

  脚本一结束,就会关闭连接。如需提前关闭连接,请使用mysql_close()函数。

  $con=mysql_connect("localhost","peter","abc123");

  if(!$con)

  {

  die('Couldnotconnect:'.mysql_error());

  }

  //somecode

  mysql_close($con);

  ?>

  PHPMySQL创建数据库和表

  MySQLConnect

  MySQLInsert

  数据库存有一个或多个表。

  创建数据库

  CREATEDATABASE语句用于在MySQL中创建数据库。

  语法

  CREATEDATABASEdatabase_name

  为了让PHP执行上面的语句,我们必须使用mysql_query()函数。此函数用于向MySQL连接发送查询或命令。

  例子

  在下面的例子中,我们创建了一个名为"my_db"的数据库:

  $con=mysql_connect("localhost","peter","abc123");

  if(!$con)

  {

  die('Couldnotconnect:'.mysql_error());

  }

  if(mysql_query("CREATEDATABASEmy_db",$con))

  {

  echo"Databasecreated";

  }

  else

  {

  echo"Errorcreatingdatabase:".mysql_error();

  }

  mysql_close($con);

  ?>

  创建表

  CREATETABLE用于在MySQL中创建数据库表。

  语法

  CREATETABLEtable_name

  (

  column_name1data_type,

  column_name2data_type,

  column_name3data_type,

  .......

  )

  为了执行此命令,我必须向mysql_query()函数添加CREATETABLE语句。

  例子

  下面的例子展示了如何创建一个名为"Persons"的表,此表有三列。列名是"FirstName","LastName"以及"Age":

  $con=mysql_connect("localhost","peter","abc123");

  if(!$con)

  {

  die('Couldnotconnect:'.mysql_error());

  }

  //Createdatabase

  if(mysql_query("CREATEDATABASEmy_db",$con))

  {

  echo"Databasecreated";

  }

  else

  {

  echo"Errorcreatingdatabase:".mysql_error();

  }

  //Createtableinmy_dbdatabase

  mysql_select_db("my_db",$con);

  $sql="CREATETABLEPersons

  (

  FirstNamevarchar(15),

  LastNamevarchar(15),

  Ageint

  )";

  mysql_query($sql,$con);

  mysql_close($con);

  ?>

  重要事项:在创建表之前,必须首先选择数据库。通过mysql_select_db()函数选取数据库。

  注释:当您创建varchar类型的数据库字段时,必须规定该字段的最大长度,例如:varchar(15)。

  MySQL数据类型

  下面的可使用的各种MySQL数据类型:

 

  主键和自动递增字段

  每个表都应有一个主键字段。

  主键用于对表中的行进行唯一标识。每个主键值在表中必须是唯一的。此外,主键字段不能为空,这是由于数据库引擎需要一个值来对记录进行定位。

  主键字段永远要被编入索引。这条规则没有例外。你必须对主键字段进行索引,这样数据库引擎才能快速定位给予该键值的行。

  下面的例子把personID字段设置为主键字段。主键字段通常是ID号,且通常使用AUTO_INCREMENT设置。AUTO_INCREMENT会在新记录被添加时逐一增加该字段的值。要确保主键字段不为空,我们必须向该字段添加NOTNULL设置。

  例子

  $sql="CREATETABLEPersons

  (

  personIDintNOTNULLAUTO_INCREMENT,

  PRIMARYKEY(personID),

  FirstNamevarchar(15),

  LastNamevarchar(15),

  Ageint

  )";

  mysql_query($sql,$con);

  PHPMySQLInsertInto

  MySQLCreate

  MySQLSelect

  INSERTINTO语句用于向数据库表中插入新记录。

  向数据库表插入数据

  INSERTINTO语句用于向数据库表添加新记录。

  语法

  INSERTINTOtable_name

  VALUES(value1,value2,....)

  您还可以规定希望在其中插入数据的列:

  INSERTINTOtable_name(column1,column2,...)

  VALUES(value1,value2,....)

  注释:SQL语句对大小写不敏感。INSERTINTO与insertinto相同。

  为了让PHP执行该语句,我们必须使用mysql_query()函数。该函数用于向MySQL连接发送查询或命令。

  例子

  在前面的章节,我们创建了一个名为"Persons"的表,有三个列:"Firstname","Lastname"以及"Age"。我们将在本例中使用同样的表。下面的例子向"Persons"表添加了两个新记录:

  $con=mysql_connect("localhost","peter","abc123");

  if(!$con)

  {

  die('Couldnotconnect:'.mysql_error());

  }

  mysql_select_db("my_db",$con);

  mysql_query("INSERTINTOPersons(FirstName,LastName,Age)

  VALUES('Peter','Griffin','35')");

  mysql_query("INSERTINTOPersons(FirstName,LastName,Age)

  VALUES('Glenn','Quagmire','33')");

  mysql_close($con);

  ?>

  把来自表单的数据插入数据库

  现在,我们创建一个HTML表单,这个表单可把新记录插入"Persons"表。

  这是这个HTML表单:

  <formaction="insert.php"method="post">

  Firstname:<inputtype="text"name="firstname"/>

  Lastname:<inputtype="text"name="lastname"/>

  Age:<inputtype="text"name="age"/>

  <inputtype="submit"/>

  当用户点击上例中HTML表单中的提交按钮时,表单数据被发送到"insert.php"。"insert.php"文件连接数据库,并通过$_POST变量从表单取回值。然后,mysql_query()函数执行INSERTINTO语句,一条新的记录会添加到数据库表中。

  下面是"insert.php"页面的代码:

  $con=mysql_connect("localhost","peter","abc123");

  if(!$con)

  {

  die('Couldnotconnect:'.mysql_error());

  }

  mysql_select_db("my_db",$con);

  $sql="INSERTINTOPersons(FirstName,LastName,Age)

  VALUES

  ('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";

  if(!mysql_query($sql,$con))

  {

  die('Error:'.mysql_error());

  }

  echo"1recordadded";

  mysql_close($con)

  ?>

  PHPMySQLSelect

  MySQLInsert

  MySQLWhere

  SELECT语句用于从数据库中选取数据。

  从数据库表中选取数据

  SELECT语句用于从数据库中选取数据。

  语法

  SELECTcolumn_name(s)FROMtable_name

  注释:SQL语句对大小写不敏感。SELECT与select等效。

  为了让PHP执行上面的语句,我们必须使用mysql_query()函数。该函数用于向MySQL发送查询或命令。

  例子

  下面的例子选取存储在"Persons"表中的所有数据(*字符选取表中所有数据):

  $con=mysql_connect("localhost","peter","abc123");

  if(!$con)

  {

  die('Couldnotconnect:'.mysql_error());

  }

  mysql_select_db("my_db",$con);

  $result=mysql_query("SELECT*FROMPersons");

  while($row=mysql_fetch_array($result))

  {

  echo$row['FirstName']."".$row['LastName'];

  echo"<br?>";

  }

  mysql_close($con);

  ?>

  上面这个例子在$result变量中存放由mysql_query()函数返回的数据。接下来,我们使用mysql_fetch_array()函数以数组的形式从记录集返回第一行。每个随后对mysql_fetch_array()函数的调用都会返回记录集中的下一行。whileloop语句会循环记录集中的所有记录。为了输出每行的值,我们使用了PHP的$row变量($row['FirstName']和$row['LastName'])。

  以上代码的输出:

  PeterGriffin

  GlennQuagmire

  在HTML表格中显示结果

  下面的例子选取的数据与上面的例子相同,但是将把数据显示在一个HTML表格中:

  $con=mysql_connect("localhost","peter","abc123");

  if(!$con)

  {

  die('Couldnotconnect:'.mysql_error());

  }

  mysql_select_db("my_db",$con);

  $result=mysql_query("SELECT*FROMPersons");

  echo"<tableborder='1'>

  Firstname

  Lastname

  ";

  while($row=mysql_fetch_array($result))

  {

  echo"";

  echo"".$row['FirstName']."";

  echo"".$row['LastName']."";

  echo"";

  }

  echo"";

  mysql_close($con);

  ?>

  以上代码的输出:

  Firstname Lastname

  Glenn Quagmire

  Peter Griffin

  PHPMySQLWhere子句

  MySQLSelect

  MySQLOrderBy

  如需选取匹配指定条件的数据,请向SELECT语句添加WHERE子句。

  WHERE子句

  如需选取匹配指定条件的数据,请向SELECT语句添加WHERE子句。

  语法

  SELECTcolumnFROMtable

  WHEREcolumnoperatorvalue

  下面的运算符可与WHERE子句一起使用:

  运算符 说明

  = 等于

  != 不等于

  > 大于

  < 小于

  >= 大于或等于

  <= 小于或等于

  BETWEEN 介于一个包含范围内

  LIKE 搜索匹配的模式

  注释:SQL语句对大小写不敏感。WHERE与where等效。

  为了让PHP执行上面的语句,我们必须使用mysql_query()函数。该函数用于向SQL连接发送查询和命令。

  例子

  下面的例子将从"Persons"表中选取所有FirstName='Peter'的行:

  $con=mysql_connect("localhost","peter","abc123");

  if(!$con)

  {

  die('Couldnotconnect:'.mysql_error());

  }

  mysql_select_db("my_db",$con);

  $result=mysql_query("SELECT*FROMPersons

  WHEREFirstName='Peter'");

  while($row=mysql_fetch_array($result))

  {

  echo$row['FirstName']."".$row['LastName'];

  echo"<br?>";

  }

  ?>

  以上代码的输出:

  PeterGriffin

  PHPMySQLOrderBy关键词

  MySQLWhere

  MySQLUpdate

  ORDERBY关键词用于对记录集中的数据进行排序。

  ORDERBY关键词

  ORDERBY关键词用于对记录集中的数据进行排序。

  语法

  SELECTcolumn_name(s)

  FROMtable_name

  ORDERBYcolumn_name

  注释:SQL对大小写不敏感。ORDERBY与orderby等效。

  例子

  下面的例子选取"Persons"表中的存储的所有数据,并根据"Age"列对结果进行排序:

  $con=mysql_connect("localhost","peter","abc123");

  if(!$con)

  {

  die('Couldnotconnect:'.mysql_error());

  }

  mysql_select_db("my_db",$con);

  $result=mysql_query("SELECT*FROMPersonsORDERBYage");

  while($row=mysql_fetch_array($result))

  {

  echo$row['FirstName'];

  echo"".$row['LastName'];

  echo"".$row['Age'];

  echo"<br?>";

  }

  mysql_close($con);

  ?>

  以上代码的输出:

  GlennQuagmire33

  PeterGriffin35

  升序或降序的排序

  如果您使用ORDERBY关键词,记录集的排序顺序默认是升序(1在9之前,"a"在"p"之前)。

  请使用DESC关键词来设定降序排序(9在1之前,"p"在"a"之前):

  SELECTcolumn_name(s)

  FROMtable_name

  ORDERBYcolumn_nameDESC

  根据两列进行排序

  可以根据多个列进行排序。当按照多个列进行排序时,只有第一列相同时才使用第二列:

  SELECTcolumn_name(s)

  FROMtable_name

  ORDERBYcolumn_name1,column_name2

  PHPMySQLUpdate

  MySQLOrderBy

  MySQLDelete

  UPDATE语句用于中修改数据库表中的数据。

  更新数据库中的数据

  UPDATE语句用于在数据库表中修改数据。

  语法

  UPDATEtable_name

  SETcolumn_name=new_value

  WHEREcolumn_name=some_value

  注释:SQL对大小写不敏感。UPDATE与update等效。

  为了让PHP执行上面的语句,我们必须使用mysql_query(函数。该函数用于向SQL连接发送查询和命令。

  例子

  稍早时,我们在本教程中创建了一个名为"Persons"的表。它看起来类似这样:

  FirstName LastName Age

  Peter Griffin 35

  Glenn Quagmire 33

  下面的例子更新"Persons"表的一些数据:

  $con=mysql_connect("localhost","peter","abc123");

  if(!$con)

  {

  die('Couldnotconnect:'.mysql_error());

  }

  mysql_select_db("my_db",$con);

  mysql_query("UPDATEPersonsSETAge='36'

  WHEREFirstName='Peter'ANDLastName='Griffin'");

  mysql_close($con);

  ?>

  在这次更新后,"Persons"表格是这样的:

  FirstName LastName Age

  Peter Griffin 36

  Glenn Quagmire 33

  PHPMySQLDeleteFrom

  MySQLUpdate

  PHPODBC

  DELETEFROM语句用于从数据库表中删除行。

  删除数据库中的数据

  DELETEFROM语句用于从数据库表中删除记录。

  语法

  DELETEFROMtable_name

  WHEREcolumn_name=some_value

  注释:SQL对大小写不敏感。DELETEFROM与deletefrom等效。

  为了让PHP执行上面的语句,我们必须使用mysql_query(函数。该函数用于向SQL连接发送查询和命令。

  例子

  稍早时,我们在本教程中创建了一个名为"Persons"的表。它看起来类似这样:

  FirstName LastName Age

  Peter Griffin 35

  Glenn Quagmire 33

  下面的例子删除"Persons"表中所有LastName='Griffin'的记录:

  $con=mysql_connect("localhost","peter","abc123");

  if(!$con)

  {

  die('Couldnotconnect:'.mysql_error());

  }

  mysql_select_db("my_db",$con);

  mysql_query("DELETEFROMPersonsWHERELastName='Griffin'");

  mysql_close($con);

  ?>

  在这次删除之后,表是这样的:

  FirstName LastName Age

  Glenn Quagmire 33

  PHPDatabaseODBC

  MySQLDelete

  XMLExpatParser

  ODBC是一种应用程序编程接口(ApplicationProgrammingInterface,API),使我们有能力连接到某个数据源(比如一个MSAccess数据库)。

  创建ODBC连接

  通过一个ODBC连接,您可以连接到您的网络中的任何计算机上的任何数据库,只要ODBC连接是可用的。

  这是创建到达MSAccess数据的ODBC连接的方法:

  在控制面板中打开管理工具

  双击其中的数据源(ODBC)图标

  选择系统DSN选项卡

  点击系统DSN选项卡中的“添加”按钮

  选择MicrosoftAccessDriver。点击完成。

  在下一个界面,点击“选择”来定位数据库。

  为这个数据库取一个数据源名(DSN)。

  点击确定。

  请注意,必须在您的网站所在的计算机上完成这个配置。如果您的计算机上正在运行Internet信息服务器(IIS),上面的指令会生效,但是假如您的网站位于远程服务器,您必须拥有对该服务器的物理访问权限,或者请您的主机提供商为您建立DSN。

  连接到ODBC

  odbc_connect()函数用于连接到ODBC数据源。该函数有四个参数:数据源名、用户名、密码以及可选的指针类型参数。

  odbc_exec()函数用于执行SQL语句。

  例子

  下面的例子创建了到达名为northwind的DSN的连接,没有用户名和密码。然后创建并执行一条SQL语句:

  $conn=odbc_connect('northwind','','');

  $sql="SELECT*FROMcustomers";

  $rs=odbc_exec($conn,$sql);

  取回记录

  odbc_fetch_row()函数用于从结果集中返回记录。如果能够返回行,则返回true,否则返回false。

  该函数有两个参数:ODBC结果标识符和可选的行号:

  odbc_fetch_row($rs)

  从记录中取回字段

  odbc_result()函数用于从记录中读取字段。该函数有两个参数:ODBC结果标识符和字段编号或名称。

  下面的代码行从记录中返回第一个字段的值:

  $compname=odbc_result($rs,1);

  Thecodelinebelowreturnsthevalueofafieldcalled"CompanyName":

  $compname=odbc_result($rs,"CompanyName");

  关闭ODBC连接

  odbc_close()函数用于关闭ODBC连接。

  odbc_close($conn);

  ODBC实例

  下面的例子展示了如何首先创建一个数据库连接,然后是结果集,然后在HTML表格中显示数据。

  $conn=odbc_connect('northwind','','');

  if(!$conn)

  {exit("ConnectionFailed:".$conn);}

  $sql="SELECT*FROMcustomers";

  $rs=odbc_exec($conn,$sql);

  if(!$rs)

  {exit("ErrorinSQL");}

  echo"

";

  echo"

";

  echo"

";

  while(odbc_fetch_row($rs))

  {

  $compname=odbc_result($rs,"CompanyName");

  $conname=odbc_result($rs,"ContactName");

  echo"

";

  echo"

";

  }

  odbc_close($conn);

  echo"

CompanynameContactname
$compname $conname

"; ?>

赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程