IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

十四、MySQL 创建数据表

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

文章永久连接:https://tech.souyunku.com/?p=4885

MySQL 可以使用 CREATE TABLE SQL 语句创建表

创建 MySQL 数据表需要 表名表字段名定义每个表字段

CREATE TABLE 语句语法

下面的 SQL 语句为创建 MySQL 数据表的通用语法

CREATE TABLE table_name (column_name column_type);

例如下面的 SQL 语句将在 souyunku 数据库中创建 tbl_language

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

以下为创建数据表 搜云库技术团队_tbl 实例:

[root@localhost ~]# 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)

使用箭头标记 -> 不是 SQL 语句的一部分,它仅仅表示一个新行,如果一条SQL语句太长,可以通过回车键来创建一个新行来编写 SQL 语句

MySQL 命令终止符为分号 (;)

执行 CREATE TABLE 命令后可以使用 SHOW TABLES 命令来查看当前数据库中有哪些表

然后可以使用 DESC [表名] 来查看某个表的数据结构

PHP 创建数据表

PHP 使用 PDO::exec() 函数来创建或者删除 MySQL 表

PDO::exec() 函数只有一个参数,就是想要执行的 SQL 语句

PDO::exec 语法格式

int PDO::exec ( string $statement )

返回受修改或删除 SQL 语句影响的行数。如果没有受影响的行,则返回 0

参数

参数 说明
statement 要被预处理和执行的 SQL 语句,查询中的数据应该被妥善地转义

范例

下面的 PHP 代码演示了如何用 PDO_MySQL 在数据库 souyunku 中创建 tbl_language

<?php 

/*
 * filename: main.php
 * author: 搜云库技术团队(tech.souyunku.com)
 * 
 * Copyright © 2015-2065 tech.souyunku.com. All rights reserved.
 */

$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 main.php
在 souyunku 数据库中成功创建表 tbl_language 

注意: 不管创建成功与否,PDO::exec() 函数都是返回 0 ,所以无法从结果值里判断是否创建成功

我们可以使用 mysql 客户端命令查看 souyunku 里有没有 tbl_language

MariaDB [souyunku]> USE souyunku;
Database changed
MariaDB [souyunku]> SHOW TABLES;
+----------------+
| Tables_in_souyunku |
+----------------+
| customer       |
| sites          |
| tbl_language   |
+----------------+
3 rows in set (0.00 sec)

干货推荐

本站推荐:精选优质专栏

附录:MySQL 教程:系列文章


Warning: A non-numeric value encountered in /data/wangzhan/tech.souyunku.com.wp/wp-content/themes/dux/functions-theme.php on line 1154
赞(92) 打赏



未经允许不得转载:搜云库技术团队 » 十四、MySQL 创建数据表

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码
IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

评论 抢沙发

大前端WP主题 更专业 更方便

联系我们联系我们

觉得文章有用就打赏一下文章作者

微信扫一扫打赏

微信扫一扫打赏


Fatal error: Uncaught Exception: Cache directory not writable. Comet Cache needs this directory please: `/data/wangzhan/tech.souyunku.com.wp/wp-content/cache/comet-cache/cache/https/tech-souyunku-com/index.q`. Set permissions to `755` or higher; `777` might be needed in some cases. in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php:367 Stack trace: #0 [internal function]: WebSharks\CometCache\Classes\AdvancedCache->outputBufferCallbackHandler() #1 /data/wangzhan/tech.souyunku.com.wp/wp-includes/functions.php(5109): ob_end_flush() #2 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(303): wp_ob_end_flush_all() #3 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(327): WP_Hook->apply_filters() #4 /data/wangzhan/tech.souyunku.com.wp/wp-includes/plugin.php(470): WP_Hook->do_action() #5 /data/wangzhan/tech.souyunku.com.wp/wp-includes/load.php(1097): do_action() #6 [internal function]: shutdown_action_hook() #7 {main} thrown in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php on line 367