您现在的位置是:首页 > 网站制作 > MySQL MySQL

MySQL 创建数据表

胜于蓝2019-07-07【MySQL 】人已围观

简介创建MySQL数据表需要以下信息: 表名 表字段名 定义每个表字段语法以下为创建MySQL数据表的SQL通用语法:CREATE TABLE table_name (column_name column_type); 以下例子中我们

创建MySQL数据表需要以下信息:NCj胜于蓝|优秀个人博客

  • 表名
  • 表字段名
  • 定义每个表字段

语法

以下为创建MySQL数据表的SQL通用语法:NCj胜于蓝|优秀个人博客

CREATE TABLE table_name (column_name column_type);

 NCj胜于蓝|优秀个人博客

以下例子中我们将在 RUNOOB 数据库中创建数据表runoob_tbl:NCj胜于蓝|优秀个人博客

CREATE TABLE IF NOT EXISTS `runoob_tbl`(
   `runoob_id` INT UNSIGNED AUTO_INCREMENT,
   `runoob_title` VARCHAR(100) NOT NULL,
   `runoob_author` VARCHAR(40) NOT NULL,
   `submission_date` DATE,
   PRIMARY KEY ( `runoob_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

实例解析:NCj胜于蓝|优秀个人博客

  • 如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
  • AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
  • PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。
  • ENGINE 设置存储引擎,CHARSET 设置编码。

     NCj胜于蓝|优秀个人博客


通过命令提示符创建表

通过 mysql> 命令窗口可以很简单的创建MySQL数据表。你可以使用 SQL 语句 CREATE TABLE 来创建数据表。NCj胜于蓝|优秀个人博客

实例

以下为创建数据表 runoob_tbl 实例:NCj胜于蓝|优秀个人博客

root@host# mysql -u root -p
Enter password:*******
mysql> use RUNOOB;
Database changed
mysql> CREATE TABLE runoob_tbl(
   -> runoob_id INT NOT NULL AUTO_INCREMENT,
   -> runoob_title VARCHAR(100) NOT NULL,
   -> runoob_author VARCHAR(40) NOT NULL,
   -> submission_date DATE,
   -> PRIMARY KEY ( runoob_id )
   -> )ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.16 sec)
mysql>

注意:MySQL命令终止符为分号 ; 。NCj胜于蓝|优秀个人博客

注意: -> 是换行符标识,不要复制。NCj胜于蓝|优秀个人博客

使用PHP脚本创建数据表

你可以使用 PHP 的 mysqli_query() 函数来创建已存在数据库的数据表。NCj胜于蓝|优秀个人博客

该函数有两个参数,在执行成功时返回 TRUE,否则返回 FALSE。NCj胜于蓝|优秀个人博客

语法

mysqli_query(connection,query,resultmode);
参数 描述
connection 必需。规定要使用的 MySQL 连接。
query 必需,规定查询字符串。
resultmode

可选。一个常量。可以是下列值中的任意一个:NCj胜于蓝|优秀个人博客

  • MYSQLI_USE_RESULT(如果需要检索大量数据,请使用这个)
  • MYSQLI_STORE_RESULT(默认)

实例

以下实例使用了PHP脚本来创建数据表:NCj胜于蓝|优秀个人博客

创建数据表

<?php $dbhost = 'localhost'; // mysql服务器主机地址 $dbuser = 'root'; // mysql用户名 $dbpass = '123456'; // mysql用户名密码 $conn = mysqli_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('连接失败: ' . mysqli_error($conn)); } echo '连接成功<br />'; $sql = "CREATE TABLE runoob_tbl( ". "runoob_id INT NOT NULL AUTO_INCREMENT, ". "runoob_title VARCHAR(100) NOT NULL, ". "runoob_author VARCHAR(40) NOT NULL, ". "submission_date DATE, ". "PRIMARY KEY ( runoob_id ))ENGINE=InnoDB DEFAULT CHARSET=utf8; "; mysqli_select_db( $conn, 'RUNOOB' ); $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('数据表创建失败: ' . mysqli_error($conn)); } echo "数据表创建成功\n"; mysqli_close($conn); ?>

执行成功后,就可以通过命令行查看表结构:NCj胜于蓝|优秀个人博客

NCj胜于蓝|优秀个人博客
 NCj胜于蓝|优秀个人博客

创建 MySql 的表时,表名和字段名外面的符号 ` 不是单引号,而是英文输入法状态下的反单引号,也就是键盘左上角 esc 按键下面的那一个 ~ 按键,坑惨了。NCj胜于蓝|优秀个人博客

反引号是为了区分 MySql 关键字与普通字符而引入的符号,一般的,表名与字段名都使用反引号。NCj胜于蓝|优秀个人博客
 NCj胜于蓝|优秀个人博客

除非你有一个很特别的原因去使用 NULL 值,你应该总是让你的字段保持 NOT NULL。这看起来好像有点争议,请往下看。NCj胜于蓝|优秀个人博客

1、首先,我们要搞清楚空值 "" 和 NULL 的概念:NCj胜于蓝|优秀个人博客

  •  1)空值是不占用空间的
  •  2)MySQL中的NULL其实是占用空间的

所谓的 NULL 就是什么都没有,连 \0 都没有,\0 在字符串中是结束符,但是在物理内存是占空间的,等于一个字节,而 NULL 就是连这一个字节都没有。NCj胜于蓝|优秀个人博客

2、其次,在数据库里是严格区分的,任何数跟 NULL 进行运算都是 NULL, 判断值是否等于 NULL,不能简单用 =,而要用 IS NULL关键字。NCj胜于蓝|优秀个人博客

3、数据库的字段 col1 设为 NOT NULL, 仅仅说明该字段不能为 NULL, 也就是说只有在:NCj胜于蓝|优秀个人博客

INSERT INTO table1(col1) VALUES(NULL);

这种情况下数据库会报错,而:NCj胜于蓝|优秀个人博客

INSERT INTO table1(col1) VALUES('');

不会报错。NCj胜于蓝|优秀个人博客

(如果字段是自增ID,第一句不会报错,这不能说明是可以为NULL,而是 数据库系统会根据ID设的缺省值填充,或者如果是自增字段就自动加一等缺省操作。)NCj胜于蓝|优秀个人博客

4、含有空值的列很难进行查询优化,而且对表索引时不会存储 NULL 值的,所以如果索引的字段可以为 NULL,索引的效率会下降很多。因为它们使得索引、索引的统计信息以及比较运算更加复杂。你应该用 0、一个特殊的值或者一个空串代替空值。NCj胜于蓝|优秀个人博客

5、联表查询的时候,例如 LEFT JOIN table2,若没有记录,则查找出的 table2 字段都是 null。假如 table2 有些字段本身可以是 null,那么除非把 table2 中 not null 的字段查出来,否则就难以区分到底是没有关联记录还是其他情况。NCj胜于蓝|优秀个人博客

Tags:

很赞哦! ()

上一篇:MySQL 数据类型

下一篇:MySQL 删除数据表

相关文章

随机图文

文章评论

当前时间

快速排名

  • 网站建设|万词霸屏,企业软文推广,刷下拉框
  • 快速排名:不用再等SEO三个月,只需3-7天即可把行业关键词覆盖百度搜索引擎首页,点击不收费,排名报表,真实访问量报表一目了然。

合作加盟

  • 扫码请注明来意,否则不会通过
  • 填写商户姓名不要带有“超市”,“便利店” ,“百货”等
  • 扫码成为快钱代理
  • 扫码加站长微信,为您推荐快钱总部负责人
  • 快钱POSS机(电签版)
  • 1,免押版:签约费率快捷交易0.38%,常规交易0.65%
  • 贷记卡单笔≥3000元视为激活
  • 2,,有押版:签约快捷交易0.38%,常规交易0.65%
  • 激活首刷≥99元,扣除99元系统服务费,多出部分shishi到账
  • 电签版ipos参与每月扶持奖励
  • 电签版ipos与Mpos单独考核台均
  • 30台以上有效激活奖励3000元扶持金
  • 当月交易额≥3000元的为活跃用户

点击排行

本站推荐

站点信息

  • 建站时间:2018-10-24
  • 网站程序:帝国CMS7.5
  • 主题模板《今夕何夕》
  • 文章统计7613篇文章
  • 标签管理标签云
  • 统计数据百度统计
  • 扫描二维码:请注明来意,否则不会通过
  • 微信号:扫描二维码,关注我们
歌名 - 歌手
0:00