Mysql 数据库增删改

时间:2024-05-22 11:36:53

在Navicat for mysql软件中增删改
以金融项目为例:简单式增删改
一、增加
打开Navicat for mysql 中的表,打开创建的表可以直接在字段下面增加会员信息,打√号,添加可以点击下面的加号!在增加会员信息,例如:
Mysql 数据库增删改
二、删除
选中表中的一行字段,点击下面的减号,删除
Mysql 数据库增删改
三、改
在表中,直接在字段中 赋值

使用SQL语句增删改
注释:
1、单行注释: – (空格)(快捷键:ctrl+/ ) (解除注释:shift+ctrl+/ )
2、多行注释 :/* */
(注释,更好阅读程序)
3、mysql是弱语法
增加
一、插入数据表(insert)
(1)插入一条数据,对所有字段都赋值
语法:
insert into <表名>values(wei niu si )(赋值A, 赋值B ,赋值C…);
例如:
eg:往nemeber表插入一条记录,对所有字段赋值
insert into member values(10086,‘tom’,‘123456’,‘18813050886’,‘1’,‘2019-4-16 10:31:10’,‘0.00’);
运行:正确下是,受影响的行为1,然后去表中查看新出现的信息
事项:所赋的值要与表中的字段名相对应,比如 ID=1 Name=tom或者其他
字符串要用单引号括起来
sj 用搜狗输入法可以直接打出年月日时间

(2)插入一条数据,且只会一部份字段赋值
语法:
insert into<表名>(字段A ,字段B ,字段C)values(wei niu si)(值A ,值B ,值C);
例如:
inset into member (regname,pwd,mobilephon,type) values(‘tom’,‘123456’,‘18813050887’,1);
运行后,在表中查看是否有新插入的信息表
事项:
新注册的用户,ID设置为主键之后会自动赋值,注册默认值为0 会自动识别,是需要写上需要的字段名赋值,运行后出现[Err]就代表错误
(3)一条语句插入多条数据
insert into<表名>(字段A ,字段B ,字段C)values(wei niu si)(值A ,值B ,值C),(值D ,值E ,值F),(值A_1 ,值_2,值_3)
事项:需要多少赋值,就插入多少赋值,所赋的值不能一样

删除
一、删除
1、删除数据库(谨慎操作)
打开xshell 新建数据库 :create(ke rui te) database future34(fou qieer);
删除不用的表:drop(jiao pu)database future34;
2、删除数据表(谨慎操作)
drop table 表名;
drop table member;
3、删除记录---- delete (谨慎操作)不会影响到自增长Id值
如果在运行新的数据,id会根据删掉的最大值继续,比如,12345,删掉的123,在运行新的数据时会从5开始增值
不会影响id值 --清空表 truncate
truncate table 表名;
truncate table member;
(1)全部删除:删除表的所有记录
delete from 表名;
delete from member;
(2)部分删除:把id大于10的用户全部删除
delete from(fu ruang) member where id>10;
Mysql 数据库增删改
Mysql 数据库增删改
改、修改
一、修改、更新(update) LeaveAmount(金额) l(ai wo mang te)
1、更新表中的所有记录
update 表名 set 字段1=新的值,字段2=新的值,字段3=新的值…
例如:
eg:给所有用户返现1000.0
update member set LeaveAmount=1000.0;
运行后去查看表中是否有金额都赋值为1000,

er:给所有用户返现500,密码全部改为abcdef
update member set LeaveAmount=500,pwd=‘abcdef’;
运行后去查看表中是否有金额都赋值为500,密码是否改为abcdef,
set=关键字、保留字

eg:给所有用户的余额加100
update member set LeaveAmount= LeaveAmount+100;

2、更新表的部分记录((where 哪里的意思)(wei re) 字句)
update 表名 set 字段1=新的值,字段2=新的值,字段3=新的值… where条件表达式
限制 条件:按什么条件去筛选
eg:把id为xxxx或者(10086)的用户余额改为0
update member set LeaveAmount= 0.00 where ID=10086 (或者xx);

3、多个条件:用户and、or进行连接
and:多个条件同事满足
or:只需要满足其中一个条件即可,或者
eg:把id为10086,和10087用户可用余额改为100
update member set LeaveAmount=100 where id=10086 or id=10087;

4、条件表达式:= <(小于) >(大于) <= >= 不等于: != <>
eg:把ID大于10089的用户余额全部改为0
update member set LeaveAmount= 0 whre id>10089;
Mysql 数据库增删改
不等于:
eg:把不等于10086的ID都改为10000,除了10086,全部修改
update member set LeaveAmount= 10000 whre id<>10086;
Mysql 数据库增删改

查询 单表多表查询
一、单表查询 — 查询一个表
打开查询编辑器:
1、查询所有的member信息
从member表中查询所有记录信息
select * from member; ----- * 指代所有字段;但是会有一点点的性能污染问题
例如:
select id,regname,pwd,mobilephon,type,leaveAmount,regtime from member;
2、查询符合某些的记录 and or
select * from member whre leaveAmount>20000.0;
eg:查询余额大于20000的会员信息, 显示用户名,手机号、余额
select regname,mobilepone,leavAmount from member where leaveAmount>20000.0;
二、多表查询
1、有项目表、投资表、信息表,一个用户的投资 、信息、项目表会放在不同的分类表中,然后会有ID区分,这条数据对应用户的 信息、投资等
Mysql 数据库增删改
1、会员表(menmber表)
2、投资表(in vest表)(yi wai si)
3、项目表(loan)(lang wong)
4、流水记录表(fin an celog)
5、回款计划表(rep ayment(rui pen men t))
Mysql 数据库增删改
三、多表查询
语法
select 要查询的字段 from 表1,表2… where 关联条件和过滤条件
笛卡尔积、叉乘
怎么把有效的记录过滤出来?
select * from member,invest where memberr.id = invest,memberid;
四、别名
(1)ti t2
(2)as
五、排序
(1)排序 order by 字段名 desc/asc
desc:降序排列
asc:升序排列
(2)多个字段排序
order by 字段1 desc/asc,字段2 desc/asc,字段3 desc/asc