• ABCD   2014/9/19 12:51:00
  • mysql中创建数据库和数据表的语句是怎样的?
  • 关键字: mysql 创建数据库 create
  •  

    创建数据库

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

    语法

    CREATE DATABASE database_name

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

    例子

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

    <?php
    $con = mysql_connect("localhost","peter","abc123");
    if (!$con)
      {
      die('Could not connect: ' . mysql_error());
      }
    
    if (mysql_query("CREATE DATABASE my_db",$con))
      {
      echo "Database created";
      }
    else
      {
      echo "Error creating database: " . mysql_error();
      }
    
    mysql_close($con);
    ?>

    创建表

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

    语法

    CREATE TABLE table_name
    (
    column_name1 data_type,
    column_name2 data_type,
    column_name3 data_type,
    .......
    )

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

    例子

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

    <?php
    $con = mysql_connect("localhost","peter","abc123");
    if (!$con)
      {
      die('Could not connect: ' . mysql_error());
      }
    
    // Create database
    if (mysql_query("CREATE DATABASE my_db",$con))
      {
      echo "Database created";
      }
    else
      {
      echo "Error creating database: " . mysql_error();
      }
    
    // Create table in my_db database
    mysql_select_db("my_db", $con);
    $sql = "CREATE TABLE Persons 
    (
    FirstName varchar(15),
    LastName varchar(15),
    Age int
    )";
    mysql_query($sql,$con);
    
    mysql_close($con);
    ?>

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

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

    MySQL 数据类型

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

    数值类型描述
    • int(size)
    • smallint(size)
    • tinyint(size)
    • mediumint(size)
    • bigint(size)
    仅支持整数。在 size 参数中规定数字的最大值。
    • decimal(size,d)
    • double(size,d)
    • float(size,d)

    支持带有小数的数字。

    在 size 参数中规定数字的最大值。在 d 参数中规定小数点右侧的数字的最大值。

    文本数据类型描述
    char(size)

    支持固定长度的字符串。(可包含字母、数字以及特殊符号)。

    在 size 参数中规定固定长度。

    varchar(size)

    支持可变长度的字符串。(可包含字母、数字以及特殊符号)。

    在 size 参数中规定最大长度。

    tinytext支持可变长度的字符串,最大长度是 255 个字符。
    • text
    • blob
    支持可变长度的字符串,最大长度是 65535 个字符。
    • mediumtext
    • mediumblob
    支持可变长度的字符串,最大长度是 16777215 个字符。
    • longtext
    • longblob
    支持可变长度的字符串,最大长度是 4294967295 个字符。
    日期数据类型描述
    • date(yyyy-mm-dd)
    • datetime(yyyy-mm-dd hh:mm:ss)
    • timestamp(yyyymmddhhmmss)
    • time(hh:mm:ss)
    支持日期或时间
    杂项数据类型描述
    enum(value1,value2,ect)ENUM 是 ENUMERATED 列表的缩写。可以在括号中存放最多 65535 个值。
    setSET 与 ENUM 相似。但是,SET 可拥有最多 64 个列表项目,并可存放不止一个 choice

    主键和自动递增字段

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

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

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

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

    例子

    $sql = "CREATE TABLE Persons 
    (
    personID int NOT NULL AUTO_INCREMENT, 
    PRIMARY KEY(personID),
    FirstName varchar(15),
    LastName varchar(15),
    Age int
    )";
    
    mysql_query($sql,$con);

大家的回答
  • 还没有人回答这个问题哦,亲,快来帮帮TA吧
  •   我来回答
  • 注册用户登录后才能发表评论,请 登录注册
  • 请您注意

    ·自觉遵守:爱国、守法、自律、真实、文明的原则

    ·尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法规

    ·严禁发表危害国家安全,破坏民族团结、国家宗教政策和社会稳定,含侮辱、诽谤、教唆、淫秽等内容的作品

    ·承担一切因您的行为而直接或间接导致的民事或刑事法律责任

    ·您在编程中国社区新闻评论发表的作品,本网站有权在网站内保留、转载、引用或者删除

    ·参与本评论即表明您已经阅读并接受上述条款