MySQL 创建数据表

创建MySQL数据表需要以下信息:

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

语法

以下为创建MySQL数据表的SQL通用语法:

CREATE TABLE table_name (column_name column_type);

以下例子中我们将在 test 数据库中创建数据表test:

CREATE TABLE IF NOT EXISTS `test`( `test_id` INT UNSIGNED AUTO_INCREMENT, `test_title` VARCHAR(100) NOT NULL, `test_author` VARCHAR(40) NOT NULL, `submission_date` DATE, PRIMARY KEY ( `test_id` ))ENGINE=InnoDB DEFAULT CHARSET=utf8;

实例解析:

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

通过命令提示符创建表

通过 mysql> 命令窗口可以很简单的创建MySQL数据表。你可以使用 SQL 语句 CREATE TABLE 来创建数据表。

实例

以下为创建数据表 test 实例:

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

注意:MySQL命令终止符为分号 (;) 。


使用Python创建数据表

你可以使用 Python 的 execute() 函数来创建已存在数据库的数据表。

语法

cursor.execute("CREATE TABLE EMPLOYEE(id INT)")

参数

描述

connection

必需。规定要使用的 MySQL 连接。

execute

必需,执行必须的SQL语句。

cursor

必须,创建执行SQL的游标。

实例

以下实例使用了 Python 来创建数据表:

创建数据表

执行成功后,就可以通过命令行查看表结构:

本文分享自微信公众号 - Python与MySQL(gh_f241b4810c6a)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-02-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏lgp20151222

Mysql 获取表的comment 字段

查看获取表内字段注释: > show full columns from tablename; 或是  show full fields from tab...

19210
来自专栏乐沙弥的世界

Oracle 索引监控与外键索引

      Oracle 监控索引特性为我们提供了一个大致判断索引是否被使用的情形。之所以这么说,是因为在Oracle 10g 中收集统计信息时会导致索引被监控...

11720
来自专栏java达人

oracle、mysql 分页查询比较

1、 Oracle的分页查询语句 分页查询格式: SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * ...

33880
来自专栏有趣的django

14.MySQL(二) 数据之表操作表内容操作Mysql 连接事务外键

数据之表操作 1.创建表 语法:CREATE TABLE table_name (column_name column_type); create table...

38190
来自专栏WindCoder

Discuz数据库security_failedlog错误及修复

最近跑了之前的论坛转了转,发现一直在报数据库中表security_failedlog错误,百度了好久,最终找到解决方案。

60510
来自专栏不想当开发的产品不是好测试

mysql 时间格式化

将时间转为格式化的字符串 select date_format(now(),'%Y%m%d'); ? 将时间字符串转为时间戳 select unix_times...

24760
来自专栏用户2442861的专栏

mysql索引index相关命令

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/d...

22720
来自专栏desperate633

MyISAM和InnoDB的对比

Mysql 数据库中,最常用的两种引擎是 innordb 和 myisam。InnoDB 是 Mysql 的默 认存储引擎。

11910
来自专栏Java成神之路

解决hibernate向mysql插入中文乱码问题

MySQL会出现中文乱码的原因不外乎下列几点:    1.server本身设定问题,例如还停留在latin1    2.table的语系设定问题(包含chara...

10130
来自专栏算法channel

MySQL|索引应用

可以先看下这篇理论介绍: MySQL|索引背后 01 MySQL的几种KEY PRIMARY KEY 有两个作用,一是约束作用(constraint),用来...

35670

扫码关注云+社区

领取腾讯云代金券