热线电话:13121318867

登录
2018-11-01 阅读量: 914
My SQL——对数据表的操作

对数据表的crud操作:create\read\update\delete

向已有数据表插入一条记录:

如果不明确指定列名的话,值的数量和顺序必须和表中一致;

insert into department values(1001,'人事部','北京市海淀区');

放在任意语名中任意处,ctrl+d,快速复制。

查看数据表中已有内容:

select * from department;

在插入数据时候明确指定列的数据,values值保持一致:

insert into department(depname,depid,address)

values('市场1部','1005','北京东城区');

在批量插入数据,可以这样写:

insert into department(depid,depname,address)

values('市场2部','1006','北京东城区'),

('市场2部','1007','北京东城区'),

('市场2部','1008','北京东城区');

如果不是为所有字段都赋值,则必须写列名:

insert into department(depid,depname)

values

('市场2部','1008');

向employee表中插入新的员工信息:

insert into employee values(null,'张三','男',null,8000.00,1001);

insert into employee(empname) values('李四');

自动增长列:

insert into employee(empid,empname,depid) values(7,'李四',1007);

insert into employee(empname,depid) values('周五',1009);

执行后,第一行编号为7;下一行自动为8;

放在要查看的表格上,点击右边小表格按钮,直接显示表格结果

删除操作:

delete from department;//慎用,会删除整个表

delete from department where depid=1006;

以下两条等价:

delete from department where depid=1003 or depid=1004;

delete from department where depid in (1003,1004);

delete from department where depid=1005 and depname='aaa';

从employee表中删除没有部门的员工

对于null值的比较不可以使用“=”,应该使用 is null,is not null

delete from department where depid = null;

delete from department where depid is null;

修改表中的记录【区别于alter,其是更改结构】

1、设置employee中所有没有工资的设置为5000

update employee set salary=5000;会把工资都赋值5000

update employee set salary=5000 where salary is null;

有的时候语句是正确的但执行不了,反馈原因为参数问题,可在edit——reference下取消最后一项勾选,即可:

取消后注意重新连接数据库,刷新一下,

2、将所有薪水低于6000的员工工资上涨10%:

update employee set salary=salary*1.1 where salary<6000;

3、将id为7的员工的部门调整到1002部门:

update employee set depid=1002 where depid=7;

4、有外键引用的记录删除:

delete from employee where depid=1007;为保证数据完整性,有员工的部门无法删除

解决:

将depid=1007的所有员工部门设为null,或者其他部分的id。

update empoyee set depid=null where depid=1007;

再执行:

delete from employee where depid=1007;

0.0000
3
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子