• MySQL:02-增删改查


    1、修改和删除数据表字段

    -- 修改表名 (ALTER TABLE 旧表名 RENAME AS 新表名)
    ALTER table school RENAME as student;
    -- 增加表的字段 (ALTER TABLE 表名 ADD字段名 列属性)
    ALTER TABLE student ADD sex CHAR (5);
    -- 修改字段的约束
    ALTER TABLE student MODIFY age VARCHAR(11);
    -- 字段重名名
    ALTER TABLE student CHANGE age agel INT(1);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    -- 删除表的字段
    ALTER TABLE student DROP agel;
    
    • 1
    • 2

    在这里插入图片描述

    2、给表设置外键

    -- 给表student创建外键(约束)
    ALTER TABLE `student` 
    ADD 
    CONSTRAINT `foreign-key` FOREIGN KEY(`ID`) REFERENCES `grade`(`ID`);
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    设置外键后,被引用的表不能删除,除非先删除引用的表,先删除表grade时提示:
    在这里插入图片描述

    注:数据库中一般不推荐使用外键,表多了之后就容易混乱,想要使用外键,可根据实际在项目中编写代码来实现。

    3、insert

    -- INSERT
    INSERT INTO `student` (`name`,`class`,`ID`,`sex`) VALUES ('李四','2',2001,'男');
    INSERT INTO `student` (`name`,`ID`) VALUES ('王八',2002);
    INSERT INTO `student` VALUES ('王五','2',2003,'女');
    
    • 1
    • 2
    • 3
    • 4

    4、update

    在这里插入图片描述

    -- UPDATE
    -- 一般的修改
    UPDATE student SET `name` = '张三' WHERE id = 1001;
    -- 不指定条件的情况下或修改表中的所有内容
    UPDATE student set `name` = 'lisi';
    -- 修改多个属性用逗号隔开
    UPDATE student set `name` = 'zhangsan' ,`class` = '2' WHERE id = 1001; 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    5、delete和truncate

    删除数据可以使用delete和truncate

    delete和truncate的区别:
    相同点:都能删除数据,不会删除表的结构。
    不同点:
    delete是数据操作语言(DML)命令;而truncate是数据定义语言(DDL)命令。
    truncate 删除后自增列的值会归零,即重新开始自增。表和索引所占用的空间会恢复到初始大小。
    truncate不会影响事务。truncate不能进行回滚操作。
    delete命令支持WHERE子句;truncate命令不支持WHERE子句。
    delete采用行级锁定,truncate采用表级锁定

    -- delete和truncate
    DELETE FROM student WHERE ID = '2001';
    TRUNCATE TABLE grade;
    
    • 1
    • 2
    • 3

    6、select

    注意查询中各个语句的顺序:
    在这里插入图片描述

    select 表达式 from 表名	-- 表达式可以是文本值、列、NULL、函数、计算表达式、系统变量……
    
    • 1

    (1)简单查询

    -- SELECT
    -- 查询全部学生
    SELECT * FROM student;
    -- 查询指定字段
    SELECT studentno,studentname FROM student;
    -- 别名,给查询的列或表起个别名
    SELECT studentno AS 学号,studentname AS 学生姓名 FROM student AS s;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    (2)concat()函数:将多个字符串连接成一个字符串。

    SELECT CONCAT('姓名:',studentname) AS 学生名字 FROM student;
    
    • 1

    在这里插入图片描述
    (3)对查询结果去重

    -- 查询哪些同学参加了考试
    SELECT DISTINCT studentno FROM result;
    
    • 1
    • 2

    在这里插入图片描述
    (4)对学生成绩+1查看

    SELECT studentno,studentresult+1 as 加分后的成绩 FROM result;
    
    • 1

    在这里插入图片描述

  • 相关阅读:
    星座每日运势 api接口
    浏览器输入网址后发生了什么?
    Mysql 索引使用总结
    Matlab 对连续时间信号的运算
    一文精通C++ -- 继承
    坚守,一个烂俗的词,驱动人生带它走过了15年
    C++【认识继承】
    【无标题】
    设计模式行为型-状态模式
    【云原生】Docker操作命令大全
  • 原文地址:https://blog.csdn.net/m0_47114547/article/details/127661769