PHP MySQL 创建数据库和表-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

PHP MySQL 创建数据库和表

2015-07-19 15:59:04 10244 0
    
数据库存有一个或多个表。
    
创建数据库
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 个字符。
textblob 支持可变长度的字符串,最大长度是 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 个值。
set SET 与 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);















取消 提交回答
全部回答(0)
相关问答

1

回答

PHP连接mysql出现问题

2020-05-23 21:00:25 868浏览量 回答数 1

1

回答

php连接mysql识别不到端口号

2016-02-08 13:53:19 2722浏览量 回答数 1

1

回答

php 连接mysql问题

2016-02-08 14:13:14 2134浏览量 回答数 1

2

回答

求问php连接mysql

2014-02-19 22:04:57 8528浏览量 回答数 2

1

回答

如何为PHP启用mysqlnd??mysql

2020-05-17 17:38:53 318浏览量 回答数 1

1

回答

PHP mysql的操作,为什么要返回一个字符串数组?

2016-06-17 15:43:49 2265浏览量 回答数 1

1

回答

请教大神关于php连接mysql效率的一个疑问

2016-06-16 18:05:50 1722浏览量 回答数 1

1

回答

PHP页面有一个浏览量统计每秒有200并发,造成insert给mysql造成很大压力

2016-06-16 15:27:03 1625浏览量 回答数 1

1

回答

php 从mysql取数据时,获取出来的数据为mysql实际存储的类型,那个函数是什么?

2016-06-16 11:31:23 1698浏览量 回答数 1

1

回答

关于php与mysql扩展库的问题

2016-06-14 17:25:36 1866浏览量 回答数 1
文章
问答
问答排行榜
最热
最新
相关电子书
更多
MySQL表和索引优化实战
立即下载
好的 MySQL 兼容可以做到什么程度
立即下载
PostgresChina2018_张启程_为什么我们抛弃MongoDB和MySQL,选择PgSQL
立即下载