DML和DQL
创建表
CREATE TABLE IF NOT EXISTS `person` (
`id` INT(4) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '学号',
`name` VARCHAR(64) NOT NULL DEFAULT '匿名' COMMENT '姓名',
`pwd` VARCHAR(64) NOT NULL DEFAULT '123456' COMMENT '密码',
PRIMARY KEY(`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8
-
之后的操作使用该表进行
DML
-
数据库操作语言
insert(增加)
语法:
INSERT INTO `表名`(`字段1`,`字段2`,`字段3`...) VALUES('值1','值2','值3'...);
单个字段情况:
INSERT INTO `person`(`name`) VALUES('李万东');
多个字段情况:
INSERT INTO `person`(`name`,`pwd`) VALUES('张三','666666');
多个数据情况:
INSERT INTO `person`(`name`,`pwd`) VALUES('李四','155555'),('王五','465465');
update(修改)
语法:
update `表名` set `字段名`='值' where 判断条件;
修改单个字段情况:
update `person` set `name`='王麻子' where `id`=5;
修改多个字段情况:
UPDATE `person` SET `name`='吴桐',`pwd`=99999 WHERE `id`=4;
如果不设置条件的情况下,默认会修改该字段的所有行,务必注意!面向监狱编程get
delete和truncate(删除)
delete
语法:
DELETE FROM `表名` WHERE 判断条件;
跑路情况:
DELETE FROM `person`;
删除单条数据情况:
DELETE FROM `person` WHERE `id`=2;
truncate
语法:
TRUNCATE `库名`;
清空数据库:
TRUNCATE `test`;
清空表:
TRUNCATE TABLE `person`;
区别
-
相同点
-
都能删除数据,不会删除表结构。
-
-
不同点
-
truncate可以重新设置自增列,计数器归零。
-
truncate不会影响事务。
-
初识DQL
本章节使用狂神P16SQL脚本导入的数据库学习。
Select
-
数据库查询语言
-
数据库中最核心的语言,最重要的语句。
-
使用频率极高。
1.简单语法
SELECT `字段名`,... FROM `表名`;
2.查询指定字段
SELECT `studentno`,`address` FROM `student`;
3.查询后更改表头
SELECT `studentno` AS 学号,`address`AS 地址 FROM `student`;
#AS可以给字段起别名,也能给表起别名。
4.拼接字符串
SELECT CONCAT('家庭住址:',`address`) AS 地址 FROM `student`;
5.去重
SELECT `studentno` FROM `result`;
SELECT DISTINCT `studentno` FROM `result`;
6.拓展
SELECT VERSION();
#通过函数查询mysql版本。
SELECT 22+2*1;
#查询表达式结果。
SELECT @@auto_increment_increment;
#查询系统变量。
SELECT `studentresult`+1 FROM `result`;
#在查询返回的结果中代入表达式计算。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人