mysql入门级,20分钟搞定( 二 )


alter table t_student drop foreign key for_class;
--MySQL命令窗口编码格式和mysql数据库中不一致,修改一下编码方法-------了解
--查看当前数据库的编码格式
show variables like '%char%';
set character_set_client=gb2312;
set character_set_server=gb2312;
--针对表字段操作--添加一个字段
alter table t_user add money decimal(5,2);
--修改字段
alter table t_user change money price decimal(7,2);
--删除字段
alter table t_user drop price;
--插入数据 insert--语法
insert into 表名(字段名1,字段名2......) values(字段1的值,字段2的值);
insert into t_class(classId,className) values(1,'XXX部');
注意:into后的表不指定任何字段,那么values中就必须填写所有字段的值并且按照顺序来
insert into t_class(classId,className) values(5,'xxx01班'),(6,'xxx02班'),(7,'xxx03班');
-- 实际开发中不常用
--修改数据 update
update 表名 set 字段名=更新的值 where 条件
例子:
update t_class set className = 'xxx班' where classId = 5;
update t_class set classId=10,className = 'xxxxxx班' where classId = 7;
update t_class set classMoney=classMoney+100 --修改全部
--将xxx01班的班费+100
update t_class set classMoney=classMoney+100 where className = 'xxx01班';
--删除数据 delete
delete from 表名 where 条件
例子:
delete from t_class where classId = 200;
delete from t_class --删除全部数据
--备份表
create table newt_class select * from t_class; --结构和数据都有
create table newt_class select * from t_class where 1 = 2; --只有结构,没有数据 。
--从另一个表中恢复数据
insert into t_class select * from newt_class;
--truncate清空数据
truncate table t_class;
--delete 与 truncate 的区别
1、执行效率truncate比delete更高
2、delete可以添加where条件,但是truncate不行 。
3、当表中出现自动增涨auto_increment的字段时,delete删除所有数据后,再添加数据 。自动增涨的值=最后一次+1,但是truncate就从新开始 。
4、delete它有日志记录,truncate没有 。所以delete删除的数据可以恢复,truncate不能 。
5、delete它支持事务处理,truncate不支持事务处理 。
mysql中默认事务是自动提交的autocommit = 1
set autocommit = 0; --设置手动提交
commit; --提交

【mysql入门级,20分钟搞定】


推荐阅读