MySQL笔记四

事务:用于处理操作量大,复杂度高的数据。

1. 用 BEGIN, ROLLBACK, COMMIT来实现

  • BEGIN 开始一个事务
  • ROLLBACK 事务回滚
  • COMMIT 事务确认

2、直接用 SET 来改变 MySQL 的自动提交模式:

  • SET AUTOCOMMIT=0 禁止自动提交
  • SET AUTOCOMMIT=1 开启自动提交

ALTER命令:修改数据表名或修改数据表字段。

删除字段:ALTER TABLE tb1 DROP i;

添加字段:ALTER TABLE tb1 ADD i INT;

添加指定位置,可以用FIRST(定位第一列)或AFTER(某个字段之后)

ALTER TABLE tbl ADD i INT FIRST;
ALTER TABLE tbl ADD i INT AFTER c;

修改字段类型及名称:MODIFY 或 CHANGE 

把字段 c 的类型从 CHAR(1) 改为 CHAR(10)

ALTER TABLE tb1 MODIFY c CHAR(10);

在 CHANGE 关键字之后,紧跟着的是你要修改的字段名,然后指定新字段名及类型:

ALTER TABLE tb1 CHANGE i j BIGINT;

修改字段默认值:ALTER TABLE tb1 ALTER i SET DEFAULT 1000;

删除字段默认值:ALTER TABLE tb1 ALTER i DROP DEFAULT;

修改表名:ALTER TABLE tb1 RENAME TO tb2;

临时表:保存临时数据,只在当前连接可见,关闭连接,会自动删除并释放空间。

创建:CREATE TEMPORARY TABLE tablename1();

删除:DROP TABLE tablename1;

复制表

1.进入数据库,先用SHOW CREATE TABLE获取数据表的结构

2.修改数据表名,CREATE TABLE `clone_tablename1`

3.在数据库中创建新的克隆表 clone_tablename1,用INSERT INTO clone_tablename1(.....) SELECT.......FROM tablename1

序列使用:一张数据表只有一个字段自增主键,如想实现其它字段自增,可以通过序列使用。

MySQL AUTO_INCREMENT

处理重复数据

防止表中出现重复数据:设置指定的字段为 PRIMARY KEY(主键) 或者 UNIQUE(唯一) 索引来保证数据的唯一性

统计重复数据:

mysql> SELECT COUNT(*) as repetitions, last_name, first_name(确定哪一列包含的值可能会重复)
    -> FROM person_tbl(在列表中选择列表使用COUNT(*)列出的列)
    -> GROUP BY last_name, first_name(列)
    -> HAVING repetitions > 1;(设置重复数大于1)

过滤重复数据:使用DISTINCT关键字过滤

mysql> SELECT DISTINCT last_name, first_name
    -> FROM person_tbl;

删除重复数据:

mysql> CREATE TABLE tmp SELECT last_name, first_name, sex FROM person_tbl  GROUP BY (last_name, first_name, sex);
mysql> DROP TABLE person_tbl;
mysql> ALTER TABLE tmp RENAME TO person_tbl;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值