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);

在这里插入图片描述

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

在这里插入图片描述

2、给表设置外键

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

在这里插入图片描述
设置外键后,被引用的表不能删除,除非先删除引用的表,先删除表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,'女');

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; 

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;

6、select

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

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

(1)简单查询

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

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

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

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

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

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

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

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值