MySQL基础教程
01、MySQLMariaDB 基础教程
02、MySQL 简介
03、MySQL MariaDB 安装
04、MySQL 管理
05、MySQL 日常管理
06、MySQL PHP 语法
07、MySQL 创建连接
08、MySQL 获取数据库列表
09、MySQL 创建数据库
10、MySQL 删除数据库
11、MySQL 选择数据库
12、MySQL 数据类型
13、MySQL 列出数据表
14、MySQL 创建数据表
15、MySQL 删除表
16、MySQL 插入数据
17、MySQL 获取插入数据的 ID
18、MySQL SELECT FROM 查询数据
19、MySQL WHERE 子句有条件的查询数据
20、MySQL UPDATE 更新数据
21、MySQL DELETE FROM 语句删除数据
22、MySQL 返回删改查受影响的行数
23、MySQL LIKE 子句模糊查询数据
24、MySQL UNION 操作符查询多张表
25、MySQL ORDER BY 排序
26、MySQL GROUP BY 分组查询数据
27、MySQL JOIN 进行多表查询
28、MySQL NULL 值处理
29、MySQL REGEXP 子句正则表达式查询
30、MySQL 数据库事务
31、MySQL ALTER 命令
32、MySQL 索引
33、CREATE TEMPORARY TABLE 创建临时表
34、MySQL DROP TABLE 删除临时表
35、MySQL INSERT INTO SELECT 复制表
36、MySQL 获取服务器元数据
37、MySQL 自增序列 AUTO_INCREMENT
38、MySQL 处理重复数据
39、MySQL 安全及防止 SQL 注入攻击
40、MySQL 导出数据
41、MySQL 导入数据
本文档使用 MrDoc 发布
-
+
首页
14、MySQL 创建数据表
MySQL 可以使用 `CREATE TABLE SQL` 语句创建表 创建MySQL 数据表需要 `表名` 、`表字段名` 、`定义每个表字段` ### **CREATE TABLE 语句语法** ------------ 下面的SQL 语句为创建 MySQL 数据表的通用语法 ```python CREATE TABLE table_name (column_name column_type); ``` 例如下面的 SQL 语句将在 souyunku 数据库中创建 tbl_language 表 ```python CREATE TABLE IF NOT EXISTS tbl_language( id INT UNSIGNED AUTO_INCREMENT, name VARCHAR(64) NOT NULL, url VARCHAR(128) NOT NULL, founded_at DATE, PRIMARY KEY ( id ) )ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ``` - 如果不想字段为 NULL 可以设置字段的属性为 NOT NULL 往表中插入数据时,如果输入该字段的数据为 NULL ,就会报错 - AUTO_INCREMENT 定义列为自增的属性,一般用于主键,数值会自动加 1 - PRIMARY KEY 关键字用于定义列为主键 可以使用多列来定义主键,列间以逗号分隔 - ENGINE 设置存储引擎 - CHARSET 设置编码 ### **通过命令提示符创建表** ------------ 可以在mysql> 命令行窗口中使用 SQL 语句 `CREATE TABLE` 来创建数据表 下面的操作在 `souyunku` 数据库中创建 `languages` 表 以下为创建数据表实例: ```python [root@ddkk.com ~]# mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 18 Server version: 10.2.13-MariaDB Homebrew Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> use souyunku; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed MariaDB [souyunku]>` CREATE TABLE IF NOT EXISTS tbl_language( ->` id INT UNSIGNED AUTO_INCREMENT, ->` name VARCHAR(64) NOT NULL, ->` url VARCHAR(128) NOT NULL, ->` founded_at DATE, ->` PRIMARY KEY ( id ) -> )ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; Query OK, 0 rows affected (0.03 sec) MariaDB [souyunku]> show tables; +----------------+ | Tables_in_souyunku | +----------------+ | customer | | sites | | tbl_language | +----------------+ 3 rows in set (0.00 sec) MariaDB [souyunku]> DESC tbl_language; +------------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+------------------+------+-----+---------+----------------+ | id | int(10) unsigned | NO | PRI | NULL | auto_increment | | name | varchar(64) | NO | | NULL | | | url | varchar(128) | NO | | NULL | | | founded_at | date | YES | | NULL | | +------------+------------------+------+-----+---------+----------------+ 4 rows in set (0.02 sec) ``` ```python # 使用箭头标记 -> 不是 SQL 语句的一部分,它仅仅表示一个新行,如果一条SQL语句太长,可以通过回车键来创建一个新行来编写 SQL 语句 MySQL 命令终止符为分号 (;) ``` 执行 `CREATE TABLE` 命令后可以使用 `SHOW TABLES` 命令来查看当前数据库中有哪些表 然后可以使用 `DESC [表名]` 来查看某个表的数据结构 ### **PHP 创建数据表** ------------ PHP使用 `PDO::exec()` 函数来创建或者删除 MySQL 表 PDO::exec() 函数只有一个参数,就是想要执行的 SQL 语句 PDO::exec 语法格式 ```python int PDO::exec ( string $statement ) ``` 返回受修改或删除 SQL 语句影响的行数。如果没有受影响的行,则返回 0 | 参数 | 说明 | | --- | --- | | statement | 要被预处理和执行的 SQL 语句,查询中的数据应该被妥善地转义 | **范例** 下面的PHP 代码演示了如何用 PDO_MySQL 在数据库 souyunku 中创建 tbl_language 表 ```php <?php $sql=<<<EOF CREATE TABLE IF NOT EXISTS tbl_language( id INT UNSIGNED AUTO_INCREMENT, name VARCHAR(64) NOT NULL, url VARCHAR(128) NOT NULL, founded_at DATE, PRIMARY KEY ( id ) )ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; EOF; try { $dbh = new PDO('mysql:host=127.0.0.1;dbname=souyunku', 'root', ''); $rs = $dbh->exec($sql); echo "在 souyunku 数据库中成功创建表 tbl_language \n"; catch (PDOException $e) { echo "错误!: " , $e->getMessage() , "\n"; ``` 运行以上 PHP 代码,输出结果如下 ```php $ php main.php 在 souyunku 数据库中成功创建表 tbl_language ``` 注意: 不管创建成功与否,PDO::exec() 函数都是返回 0 ,所以无法从结果值里判断是否创建成功 我们可以使用 mysql 客户端命令查看 `souyunku` 里有没有 `tbl_language` 表 ```php MariaDB [souyunku]> USE souyunku; Database changed MariaDB [souyunku]> SHOW TABLES; +----------------+ | Tables_in_souyunku | +----------------+ | customer | | sites | | tbl_language | +----------------+ 3 rows in set (0.00 sec) ```
李智
2025年3月17日 13:30
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码