zoukankan      html  css  js  c++  java
  • Mysql入门-表操作

    本系列内容基本上是从一本叫做《Mysql入门很简单》上面整理的。如果侵犯了你的权益,告诉我,我删掉!

    一、创建表

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

    常见约束条件
    PRIMARY KEY 标识该属性为该表的主键,可以唯一的标识对应的元组
    FOREIGN KEY 标识该属性为该表的外键,是与之联系的某表的主键
    NOT NULL 标识该属性不能为空
    UNIQUE 标识该属性的值是唯一的
    AUTO_INCREMENT 标识该属性设置默认值
    DEFAULT 标识该属性的值自动增加,这是MySOL的SOL语句的特色

    例如:
    CREATE TABLE student(stu_id INT PRIMARY KEY AUTO_INCREMENT, ---主键
    stu_name VARCHAR(20) NOT NULL,
    stu_sex BOOLEAN
    )

    CREATE TABLE student2(id INT UNIQUE,
    stu_id INT,
    stu_grade FLOAT DEFAULT 0,
    PRIMARY KEY(stu_id,course_id) ---多字段组合主键
    );

    CREATE TABLE student3(id INT PRIMARY KEY,
    stu_id INT,
    course_id INT,
    CONSTRAINT cfk FOREIGN KEY (stu_id,course_id)
    REFERENCES student2(stu_id,course_id)
    );

    注释:
    student2是父表,student3是子表。子表的数据依赖于父表。外键在子表上。


    二、查看表结构
    1、DESCRIBE student;
    2、DESC student;
    3、SHOW CREATE TABLE student;
    4、SHOW CREATE TABLE studentG; <=> SHOW CREATE TABLE studentg;

    三、修改表
    1、修改表名
    ALTER TABLE 旧表名 RENAME [TO] 新表名; -- ALTER TABLE user RENAME student;
    2、修改表结构
    ALTER TABLE 表名 MODIFY 属性名 数据类型; -- ALTER TABLE student MODIFY name VARCHAR(30);
    3、修改表字段名
    ALTER TABLE 表名 CHANGE 旧属性名 新属性名 新数据类型; -- ALTER TABLE student CHANGE name stu_name VARCHAR(30);
    4、修改表字段名和属性
    ALTER TABLE student CHANGE sex stu_sex INT(2); -- 应遵循新属性包含旧属性原则
    5、增加字段
    ALTER TABLE 表名 ADD 属性名1 数据类型 [完整性约束条件] [FIRST|AFTER属性名2];
    --------
    ALTER TABLE student ADD phone CHAR(20); --默认最后一列
    ALTER TABLE student ADD age INT(4) NOT NULL;
    ALTER TABLE student ADD s_no INT(8) PRIMARY KEY FIRST; --设置为主键,并且指定了放在第一列
    ALTER TABLE student ADD address VARCHAR(30) NOT NULL AFTER phone; --新插入列放在phone后面
    6、删除字段
    ALTER TABLE 表名 DROP 属性名; ------ ALTER TABLE student DROP address;
    7、编辑列
    ALTER TABLE 表名 MODIFY 属性名1 数据类型 FIRST|AFTER 属性名2;
    ------------
    ALTER TABLE student MODIFY s_no INT(8) FIRST;
    ALTER TABLE student MODIFY address VARCHAR(30) NOT NULL AFTER phone;
    8、更改表的存储引擎
    ALTER TABLE 表名 ENGINE=存储引擎名; -- ALTER TABLE student ENGINE=MyISAM;
    9、删除外键
    ALTER TABLE 表名 DROP FOREIGN KEY 外键别名;
    -------
    ALTER TABLE student3 DROP FOREIGN cfk;
    10、删除表
    DROP TABLE 表名; -- DROP TABLE student3;

  • 相关阅读:
    [转]C#获取文件的MD5值
    跨域ajax返回
    根据子表的条件修改主表的数据
    网络与多线程的设计例子
    网络与多线程的设计模式
    tcpdump移植和使用 -- by Johnson
    关于程序的歪门邪说--by Johnson
    重装系统——联想window 10
    Qt项目中error: C2001: newline in constant错误的解决
    使用NSIS制作Windows安装程序快速入门
  • 原文地址:https://www.cnblogs.com/smallfishy/p/13513917.html
Copyright © 2011-2022 走看看