用sql的语法对表中的数据进行增删改查

这篇博客详细介绍了如何使用SQL进行数据操作,包括新增数据的INSERT语句、创建表并添加主键和外键约束、复制表结构与数据、使用WHERE条件语句进行查询、删除和修改数据,以及TRUNCATE命令。还涵盖了DQL查询语句,如模糊查询、区间查询、排序和函数的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

新增数据

1、语法 :
INSERT INTO 表名 (列名1,列名2,列名3…)VALUES(值1,值2,值3…)
案例演示

INSERT INTO users(Id,`Name`,Address,
Phone,Mail,UserStateId,
LoginId,LoginPwd,
UserRoleId,Gender
)VALUES(4,'测试姓名','测试地址',
       '15300000000','15300000000@163.com',1,
			'ceshi','123456',1,1);

2、语法 :
INSERT INTO 表名 (列名1,列名2,列名3…)VALUES(值1,值2,值3…),(值1,值2,值3…),(值1,值2,值3…),…

INSERT INTO users(Id,`Name`,Address,
Phone,Mail,UserStateId,
LoginId,LoginPwd,
UserRoleId,Gender
)VALUES(5,'测试姓名B','测试地址B',
       '15300000000','15300000000@163.com',1,
			'ceshi','123456',1,1),
			(6,'测试姓名C','测试地址C',
						 '15300000000','15300000000@163.com',1,
						'ceshi','123456',1,1),
			(7,'测试姓名D','测试地址D',
									 '15300000000','15300000000@163.com',1,
									'ceshi','123456',1,1);

添加主键
语法: ALTER TABLE 表名 ADD PRIMARY KEY(列名)
ALTER TABLE tablea ADD PRIMARY KEY(id);

外键约束

  • 主键表的主键列 约束(限制) 外键表的外键列 的数据
    也就是 外键列内的元素只能是主键列中的元素
  • 语法:ALTER TABLE 外键表 ADD FOREIGN KEY(外键列) REFERENCES 主键表(主键列)
CREATE TABLE tablea(
	id int not null,
  `name` VARCHAR(50)
);
CREATE TABLE tableb(
	id int not null,
  tablea_id int not null,
  `name` VARCHAR(50)
);

添加外键

ALTER TABLE tableb ADD FOREIGN KEY(tablea_id) REFERENCES tablea(id);

– 外键表 被约束的表
– 外键列 被约束的列
– 主键表 被约束的表的数据来源
– 主键列 被约束的列的数据来源

创建表 复制 结构 与数据

  • *表示所有列
  • SELECT 列名,列名,列名,列名,… FROM 表名 查询表中的数据
CREATE TABLE  newusers
AS
SELECT id,`Name`,Phone FROM users WHERE 1=2;
-- SELECT * FROM users WHERE 1=2; 只复制 表结构
-- SELECT id,`Name`,Phone FROM users; 只复制 部分列
-- SELECT * FROM users; 复制所有

复制 数据(查询得到的结果)

INSERT INTO newusers  SELECT * FROM users;
INSERT INTO newusers  SELECT id,`Name`,Phone FROM users;

WHERE 条件语句

判断空

语法:WHERE 列名 IS NULL

删除数据

  • 语法: DELETE FROM 表名 WHERE 删除条件 or 或者 and 并且

案例演示

DELETE FROM users WHERE id = 4;
DELETE FROM users WHERE id = 5 or id = 6;
DELETE FROM users WHERE id in (5,6,7);
  • 如果 被删除的表有主外键关系 在删除主表时要保证外键表中的 主键数据 已经被删除
    • 要删除主键表 先删除外键表

    • 删除主表中的数据时 外键表中存在当前要删除的数据的约束元素

案例演示

DELETE FROM tablea WHERE id = 1;
DELETE FROM tableb WHERE id = 1;

修改语句

语法: UPDATE 表名 SET 列名=值,列名=值,列名=值… WHERE 条件

UPDATE users SET Phone='15311111111',Mail='15311111111@163.com' WHERE id = 18

TRUNCATE 命令

用于完全清空表数据,但表结构、索引、约束等不变

TRUNCATE tableb;

DQL 语句 用于查询数据的记录

切换到myschool上操作

USE myschool;

语法:

  • SELECT 列名,列名,列名… FROM 表名

查询所有列的语法:

  • SELECT * FROM 表名
    • *表示所有列

联合查询
– WHERE 条件
– GROUP BY 分组查询
– HAVING 分组条件
– ORDER BY 排序 ASC DESC
– LIMIT 指定返回的数据从那条到那条

SELECT * FROM student WHERE studentNo =10004 -- * 表示所有列
SELECT studentNo,studentName,sex FROM student WHERE studentNo =10004 

模糊查询 关键字 like

  • 通配符 %:任意长度的字符
  • _ :任意的一个字符
    like 包含 not like 不包含
-- 查询姓名中包含 “文” 字的学生
SELECT * FROM student WHERE studentName like '%文%'
-- 查询姓“郭”的学生
SELECT * FROM student WHERE studentName like '郭%'

-- 查询姓“郭”并且两个字的学生
SELECT * FROM student WHERE studentName like '郭_'

-- 查询姓名以萍结束的学生
SELECT * FROM student WHERE studentName like '%萍'

区间查询

  • 查询 成绩在60 -90之间的学生
SELECT * FROM result WHERE studentResult >60 AND studentResult <90
  • 区间查询 列名 BETWEEN 小 and 大
SELECT * FROM result WHERE studentResult BETWEEN 60 AND 90

排序

  • 查询学生成绩 并排序 ORDER BY 列名 DESC 大到小 ASC 默认 小到大
SELECT * FROM result ORDER BY studentResult DESC ASC
SELECT * FROM student ORDER BY bornDate DESC

函数

-- COUNT(主键列 * 1)统计总数
SELECT COUNT(1) FROM student
-- 平均分
SELECT AVG(studentResult) FROM result
--  和
SELECT SUM(studentResult) FROM result
-- 最大值
SELECT MAX(studentResult) FROM result
-- 最小值
SELECT MIN(studentResult) FROM result
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值