PHP——MySQL笔记(3)之创建数据库表
三、创建MySQL表
一个数据表有一个唯一的名称,是一张二维表,由行和列组成。
创建MySQL表有3中方式
- mysqli面向对象创建表
- mysqli面向过程创建表
- PDO对象创建表
注意:在创建表之前,要先声明使用哪个数据库,对哪个数据库进行操作。这里需要用到use关键字,格式:use 数据库名,例如use user。
表结构:
创建一个学生信息表,名为studentinfo,有6个字段,字段名为:studentid,studentname,studentsex,birthday,phone,classid
create table studentinfo(
studentid char(11) unsigned not null primary key,
studentname char(30) not null,
studentsex char(4) not null,
birthday TIMESTAMP,
phone char(30),
classid int unsigned null
)
代码解析:
在设置了数据类型后,你可以为每个列指定其他选项的属性:
1)NOT NULL - 每一行都必须含有值(不能为空),null 值是不允许的。
2)DEFAULT value - 设置默认值
3)UNSIGNED - 使用无符号数值类型,0 及正数
4)AUTO INCREMENT - 设置 MySQL 字段的值在新增记录时每次自动增长 1
5)PRIMARY KEY - 设置数据表中每条记录的唯一标识。 通常列的 PRIMARY KEY 设置为 ID 数值,与 AUTO_INCREMENT 一起使用。设置主键之后要设置是否为空,或设置int类型自动增长AUTO_INCREMENT。
1.mysqli面向对象创建表
代码如下:
<?php
header("content-type:text/html;charset=utf-8");
header("content-type:text/html;charset=utf-8");//使用utf-8编码
$servername="localhost";//表示数据库服务器主机名称
$username="root";//表示数据库用户登录的用户名称
$password="123456";//表示数据库用户登录的用户密码
//连接服务器 创建一个数据库用户对象
$conn = new mysqli($servername,$username,$password);
if($conn->connect_error)
{
die("用户登录失败,错误:".$conn->connect_error."<br>";
}
else
{
echo "用户登录成功...<br>";
}
//使用声明user数据库
$dbsql="use user";
if($conn->query($dbsql)===true)
{
echo "正在使用user数据库..<br>";
}
else{
echo "使用user数据库失败,错误提示:".$conn->error."<br>";
}
//使用sql语句 创建表
$sql="create table studentinfo(
studentid char(11) not null primary key,
studentname char(30) not null,
studentsex char(4) not null,
birthday TIMESTAMP,
phone char(30) null,
classid int unsigned null
)";
//创建表
if($conn->query($sql)===true)
{
echo "创建表成功..<br>";
}
else{
echo "创建表失败,错误提示:".$conn->error."<br>";
}
//关闭数据库连接
$conn->close();
?>
代码解析:
1)代码执行之后,如下图:
2)数据库连接错误信息,用connect_error变量返回;数据库查询语句错误信息用error变量返回。
2.mysqli面向过程创建表
<?php
header("content-type:text/html;charset=utf-8");
header("content-type:text/html;charset=utf-8");//使用utf-8编码
$servername="localhost";//表示数据库服务器主机名称
$username="root";//表示数据库用户登录的用户名称
$password="123456";//表示数据库用户登录的用户密码
//连接服务器 创建一个数据库用户对象
$conn = mysqli_connect($servername,$username,$password);
if(!$conn)
{
die("用户登录失败,错误:".mysqli_connect_error()."<br>";
}
else
{
echo "用户登录成功...<br>";
}
//使用声明user数据库
$dbsql="use user";
if(mysqli_query($conn,$dbsql)===true)
{
echo "正在使用user数据库..<br>";
}
else{
echo "使用user数据库失败,错误提示:".mysqli_error()."<br>";
}
//使用sql语句 创建表
$sql="create table studentinfo(
studentid char(11) not null primary key,
studentname char(30) not null,
studentsex char(4) not null,
birthday TIMESTAMP,
phone char(30) null,
classid int unsigned null
)";
//创建表
if(mysqli_query($conn,$sql)===true)
{
echo "创建表成功..<br>";
}
else{
echo "创建表失败,错误提示:".mysqli_error()."<br>";
}
//关闭数据库连接
$conn->close();
?>
代码解析:
1)代码解析与mysqli面向对象类似。不同的是,连接数据库错误时,用mysqli_connect_error()函数返回错误信息。
2)查询错误时,用mysqli_error()函数返回错误信息。
3)查询语句用mysqli_query()函数。
3.PDO对象创建表
<?php
header("content-type:text/html;charset=utf-8");
header("content-type:text/html;charset=utf-8");//使用utf-8编码
$servername="localhost";//表示数据库服务器主机名称
$username="root";//表示数据库用户登录的用户名称
$password="123456";//表示数据库用户登录的用户密码
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// 设置 PDO 错误模式,用于抛出异常
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//使用user数据库
$conn->exec("use user");
// 使用 sql 创建数据表
$sql = "create table studentinfo(
studentid char(11) not null primary key,
studentname char(30) not null,
studentsex char(4) not null,
birthday TIMESTAMP,
phone char(30) null,
classid int unsigned null
)";
// 使用 exec() ,没有结果返回
$conn->exec($sql);
echo "数据表 studentinfo 创建成功";
}
catch(PDOException $e)
{
echo $sql . "<br>" . $e->getMessage();
}
$conn = null;
?>
代码解析:
代码解析如上面mysqli的代码解析类似。
推荐阅读
-
PHP——MySQL笔记(3)之创建数据库表
-
mysql之创建数据库-而非表空间 博客分类: 数据库 mysql创建数据库
-
教你创建动态MSSQL 数据库表(3)_MySQL
-
通过PHP连接MYSQL数据库、创建数据库、创建表
-
通过PHP连接MYSQL数据库、创建数据库、创建表_PHP教程
-
MySQL学习笔记之创建、删除、修改表的方法
-
MySQL学习笔记之创建、删除、修改表的方法
-
PHP随手笔记整理之PHP脚本和JAVA连接mysql数据库
-
【MYSQL笔记3】MYSQL过程式数据库对象之存储过程的调用、删除和修改
-
前端笔记知识点整合之服务器&Ajax(中)MySQL基础操作&PHP操作数据库&Ajax