zoukankan      html  css  js  c++  java
  • MySQL入门很简单: 4 创建 修改删除表

    1. 创建表的方法

    1)创建表的语法形式

    首先,选择数据库:    

    USE  数据库名;

    创建表:    

    CREATE TABLE 表名 (属性名 数据类型 [完整性约束条件],
                       属性名 数据类型 [完整性约束条件],
                       属性名 数据类型
                       );

    2)设置表的主键

          主键用于标识每一个记录, 主键必须唯一。

    单字段主键: 主键是由一个字段构成的

    语法规则:        属性名  数据类型  PRIMARY KEY
    
    例子:
    
    CREATE TABLE example1(stu_id INT PRIMARY KEY,
                          stu_name  VARCHAR(20),
                          stu_sex  BOOLEAN
                          );

    多字段主键:主键由多个属性组合而成,在属性定义完之后统一设置主键

    语法:  PRIMARY KEY (属性名1,  属性名2,... ,  属性名n)
    
    例子:
    
    CREATE TABLE example2( stu_id INT,
    course_id INT,
    grade FLOAT,
    PRIMARY KEY(stu_id, course_id)
    );

    3)设置表的外键

    CREATE TABLE example2( stu_id INT,
    course_id INT,
    grade FLOAT,
    PRIMARY KEY(stu_id, course_id)
    );
    
    在example3表中设置stu_id 和course_id 为外键,与之相关联的example1表中的主键stu_id和course_id
    
    CREATE TABLE example3( id INT PRIMARY KEY,
    stu_id  INT,
    course_id INT,
    CONSTRAINT c_fk FOREIGN KEY (stu_id, course_id)
     REFERENCES example2(stu_id, course_id)
    );

    运行后,example3表中包含3个字段,其中,id字段是主键;stu_id和course_id字段为外键; c_fk是外键的别名;
    example2表称为example3表的父表;example3表的外键依赖于父表example3的主键stu_id和course_id

    4)表的非空约束

    非空约束:在创建表的某些特殊字段加上 NOT NULL 约束条件

    CREATE TABLE example4( id INT NOT NULL PRIMARY KEY,
    name VARCHAR(20) NOT NULL,
    stu_id INT,
    CONSTRAINT d_fk FOREIGN KEY (stu_id)
    REFERENCES example1(stu_id)
    );

    5)表的唯一性约束

    唯一性:所以记录中该字段的值不能重复出现

    CREATE TABLE example5( id INT PRIMARY KEY,
    stu_id INT UNIQUE,
    name VARCHAR(20) NOT NULL
    );

    6)设置表的属性值自动增加

    AUTO_INCREMENT用于为表中插入的新记录自动生成唯一的ID,一个表只能有一个字段使用AUTO_INCREMENT约束,并且该字段必须为主键的一部分。

    CREATE TABLE example6( id INT PRIMARY KEY AUTO_INCREMENT,
    stu_id INT UNIQUE,
    name VARCHAR(20) NOT NULL
    );

    7)设置表的属性的默认值

     可以为表的字段指定默认值,如果插入一条新的记录时没有为这个字段赋值,那么数据库系统会自动为这个字段插入默认值,默认值通过DEFAULT关键字设置。

    CREATE TABLE example7( id INT PRIMARY KEY AUTO_INCREMENT,
    stu_id INT UNIQUE,
    name VARCHAR(20) NOT NULL,
    English VARCHAR(20) DEFAULT 'zero',
    Math FLOAT DEFAULT 0,
    Computer FLOAT DEFAULT 0
    );

    2.查看表结构

    查看表基本结构  :   DESCRIBE 表名; 或缩写  DESC 表名;
    
    查看详细结果: SHOE CREATE TABLE 表名;
    
            SHOE CREATE TABLE 表名 G

     

     

    3.修改表的方法

    修改表名: ALTER TABLE 旧表名 RENAME [TO] 新表名;
    
    修改字段数据类型: ALTER TABLE 表名 MODIFY 属性名 数据类型;
    
    修改字段名:ALTER TABLE 表名 CHANGE 旧属性名 [新数据类型];
    
    增加字段: ALTER TABLE 表名 ADD 属性名1  数据类型 [完整性约束条件] [FIRST | AFTER 属性名2];
      
    删除字段: ALTER TABLE 表名 DROP 属性名;
    
    修改字段的排列位置: ALTER TABLE 表名 MODIFY 属性名1 数据类型 FIRST | AFTER  属性名2;  (说明: FIRST指定位置为表的第一个位置; AFTER 属性名2 指定属性名1 插入在属性名2 之后)
    
    更改表的存储引擎:ALTER TABLE 表名 ENGINE=存储引擎(InnoDB, MyISAM,  MEMORY);
    
    删除表的外键约束: ALTER TABLE 表名 DROP FOREIGN KEY 外键别名;

    4.删除表的方法

    删除没有被关联的普通表: DROP TABLE 表名; 
    
    删除被其他表关联的父表: 
      第一种方法: 先删除子表,再删除父表;   第二种方法:先删除子表的外键约束,再删除父表;
  • 相关阅读:
    寻找——无限游戏破关(一)
    运维入职梳理文档
    seafile 旧版本升级新版本时python库引用报错
    操作系统-计算进程的物理地址(例题)
    拉取微信公众号视频文件
    洛谷-P3654 First Step (ファーストステップ)
    洛谷-P3392 涂国旗
    洛谷-P1706 全排列问题
    洛谷-P1157 组合的输出
    洛谷-P2241 统计方形(数据加强版)
  • 原文地址:https://www.cnblogs.com/zxqstrong/p/5391648.html
Copyright © 2011-2022 走看看