MySQL系列03——创建表
2021/11/19 19:12:19
本文主要是介绍MySQL系列03——创建表,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
创建表
创建表必须是在数据库内创建表才是有效的,所以在创建表之前,你必须先有数据库,然后在数据库中才能创建表,创建表本质上就是在“MySQL -MySQL server -data-数据库名称”下创建的文件,具体创建的文件类型取决于使用的引擎。
在MySQL中支持两种注释格式,以井号键注释内容2111注释内容
1,利用CREATE TABLE创建表必须给出下列信息:
以新表的名字,在关键词CREATE TABLE后给出
表列的名字和定义,用逗号分隔
要注意最后一行,不用加逗号
CREATE TABLE语句也可能会包括其他关键字或选项,但至少要包括表的名字和列的细节
下面给出创建表的通用语法:
**
CREATE TABLE 表名
或
CREATE TABLE IF NOT EXISTS 表名
(
列名1 列名1的类型,
。 。 ,
。 。 ,
。 。 ,
列名n 列名n的类型
)(可以选用ENGINE=指定存储引擎 CHAESET=指定编码方式);**
默认的存储引擎为InnoDB,编码方式默认为UTF8
下面在数据库sys中创建一个名为customers表
创建表就是在MySQL -MySQL server -data下创建的文件
**注意:当需要输入中文时,要临时转换客户端的编码方式“SET NAMES GBK;”即先把编码的方式转换为GBK,再输入中文,其有效位置是从“SET NAMES GBK;”往后有效,前面无效。输入完中文后,可用“SET NAMES UTF8;”**把编码方式改回来。
使用null值
Null值就是没有值或缺值。允许null值的列,也允许在插入行时不给出该列的值。不允许null值的列不接受该列没有值的行,换句话说,在插入或更新行时,该列必须有值。
我们可以使用not null关键字,使得每个列有定义,这将会阻止插入没有值得列,如果插入没有值的列,将返回错误,插入失败。
我们看到上表第二行为NOT NULL所以在给表插入数据时必须指定cust_id的值,否则会插入失败,见下图:
处理现有的表-使用IF NOT EXISTS
在创建新表时,指定的表名必须不存在,否则将出错。如果要防止意外覆盖已有的表,SQL要求首先,手工删除该表,然后再重建它,而不是简单地用创建表语句覆盖它。如果你仅想在一个表不存在时,创建它,应该在代表名后给出**“IF NOT EXISTS”**.这样做不检查已有表的模式是否与你打算创建的表模式相匹配,他只是查看表名是否存在,并且仅在表名不存在时创建它。
这篇关于MySQL系列03——创建表的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-25MySQL报错Duplicate entry '0' for key 'PRIMARY'
- 2024-05-29阿里 Canal 实时同步 MySQL 增量数据至 ClickHouse 数据库
- 2024-05-24在Linux下管理MySQL的大小写敏感性
- 2024-04-26MySQL查出时间比实际晚8小时的解决方案
- 2024-04-01JPA不识别MySQL的枚举类型
- 2024-03-30mysql数据库表卡死解决方法
- 2024-03-15MySQL多数据源笔记5-ShardingJDBC实战
- 2024-03-11natural join mysql
- 2024-03-11关于VS2017,VS2015 中利用 EF使用Mysql 不显示数据源问题解决方案
- 2024-02-26mysql 阿里云xb后缀备份文件恢复-icode9专业技术文章分享