[Mysql] 的创建

1.创建表

创建表的作用在于指定表字段的类型+属性(约束)

创建表使用CREATE TABLE关键字进行操作

    语法结构

    CREATE TABLE 表名(

            字段名   数据类型   属性/约束,

            ...

            字段名   数据类型   属性/约束,

            [PRIMARY KEY(字段名)]

注意

1.表名和字段名需唯一

2.属性/约束中,默认允许设置NULL

    理解NULL

    NULL不等于空串,空串是有效值

    不要把NULL值与空串相混淆。NULL值是没有值,它不是空串。如果指定''(两个单引号,其间没有字符),这在NOT NULL列中是允许的。空串是一个有效的值,它不是无值。NULL值用关键字NULL而不是空串指定

3.属性/约束中,默认值DEFAULT设置必须是常数,不允许使用函数作为默认值 

4.属性/约束AUTO_INCREMENT

每个表只允许一个AUTO_INCREMENT列

    CREATE TABLE customers

    (

      cust_id int  NOT NULL   AUTO_INCREMENT,

      cust_name  char(50)  NOT NULL,

      cust_address  char(50)  NULL,

      cust_city  char(50)  NULL,

                      .....

      PRIMARY KEY(cust_id)

    );

AUTO_INCREMENT告诉Mysql,本列每当增加一行记录时进行自动增量。每次执行一个INSERT操作,Mysql自动对该列增量,给该列赋予下一个可用的值。这样给每个行分配一个唯一的cust_id,从而可以用作主键值

例:在test数据库中创建pet表

    CREATE TABLE pet
    ( 
      id int NOT NULL  AUTO_INCREMENT,
      name VARCHAR(225) NOT NULL,
      owner VARCHAR(225) DEFAULT 'Odin',
      species VARCHAR(225),
      sex CHAR(1),
      birth DATE,
      death DATE,
      PRIMARY KEY(id)
    );
在创建新表时,指定的表名必须不存在,否则将出错。如果要防止意外覆盖已有的表,SQL要求首先手动删除该表,然后再重建它,而不是简单地用创建表语句覆盖它。如果仅想在一个表不存在时创建它,应该在表名后给出IF NOT EXISTS,它不检查已有表的模式是否与你打算创建的表模式相匹配。它只是查看表名是否存在,并且仅在表名不存在时创建它

文章链接: https://www.mfisp.com/19610.html

文章标题:[Mysql] 的创建

文章版权:梦飞科技所发布的内容,部分为原创文章,转载请注明来源,网络转载文章如有侵权请联系我们!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
建站教程

在Linux服务器上安装vsftp(二)

2023-4-12 12:12:20

建站教程

[Mysql] 创建(二)

2023-4-14 12:29:12

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
客户经理
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索

梦飞科技 - 最新云主机促销服务器租用优惠