mysql修改表,增删改

# 删除表(不能撤销)
drop table name;
# 清空表
truncate table name; # 不能撤销
delete from name;
# 将表中sid为3的那行数据清空
delete from name where sid = 3;
# 重命名表
rename table stu to student;
# 重命名字段,也可以改类型
# alter table 表名 change 旧列名 新列名 类型;
alter table student change dept department varchar(30);
# 删除列
alter table student drop department;

# alter table 表名 add 列名 类型;
alter table student add dept varchar(10);
# 添加到第一个
alter table student add xxx int first;
# 添加在xx后面
alter table student add xxx int after xx;
# 在Name属性后添加属性sex,数据类型为varchar(2),默认值男
alter table student add sex varchar(2) default '男' after Name;

# 修改列字段类型的长度(eg. varchar(10) -> varchar(12))
alter table 表名 modify 列字段 类型;
# 将该字段移至第一列
alter table 表名 modify 列字段 类型 first;
# 将该字段移至Salary列之后
alter table 表名 modify 列字段 类型 after Salary;

delete和truncate

# ROLLBACK回滚到最近一次的commit
truncate table name; # 数据不可回滚
delete from name; # 数据可以回滚
# DDL一旦执行,不可回滚(执行完之后会自动的commit,不能修改)
# DML默认一旦执行也是不可回滚,但是在之前执行 set autocommit = false,则就可以回滚

# 造一个测试表
create table test
as
select * from jobs;
# 不管怎样,先commit一次
commit;
# 查看数据
select * from test;
# 取消自动commit,删除数据
set autocommit = false;
delete from test;
# 查看数据
select * from test;
# 回滚,查看数据
rollback;
select * from test;

truncate速度比delete,使用的资源少
阿里Java开发手册mysql字段命名
表名,字段名使用小写字母或数字
表必备三字段(id,gmt_create(datetime)插入时间,gmt_modified(datetime)更新时间)
表的命名最好是业务名称_表的作用

增删改

# 增
-- 向部分列插入数据
insert into student(name,gender,age)values('xiaolan','男',18);
-- 插入所有列时,student后的列名参数表可以省略
insert into student values(100,'xiaoyou','男',14,'2013-12-30','haibian',23,'daxue');
-- 插入多行数据
insert into employee values(1,'张三','男',2000),(2,'李四','男',1000),(3,'王五','女',4000);
-- 有一名学生学号是04005,其余信息与学号04003相同,请将学生信息插入表student
insert into student select "04005",Sname,Ssex,Sage,Sdept from student where sno = "04003";
insert into product2(pname,price) select pname,price from product;
# 改
update student set address = '重庆'; # 将每一行的address都改为重庆
update student set address = 'shanghai' where sid = 100; # 将sid为100的学生的地址修改为shanghai
update student set address = 'beijing',score = 100 where sid = 100; # 修改多个属性

mysql删除含有中文的数据
SQL修改表(ALTER TABLE)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值