博客
关于我
MySQL之DML
阅读量:788 次
发布时间:2023-02-11

本文共 1611 字,大约阅读时间需要 5 分钟。

数据库操作指南

一、增

增加记录

#指定字段插值
insert into [表名] (字段1,字段2...) values (V1,V2,...)

#全表插值

insert into [表名] values (V1,V2,...)

#一次性插入多值

insert into [表名] (字段1,字段2...) values (V1,V2,...),(V1,V2,...),(V1,V2,...),...

增加表字段

alter table [表名] add (字段) [字段类型] [约束条] [默认值] first|after 已有列名
e.g: alter table table1 add certificateid varchar(18) primary key not null default ''

增加索引

#添加普通索引、唯一索引和全文索引
alter table [表名] add [|unique|fulltext] index (索引名称)(字段列表)

#添加主键索引

alter table [表名] add primary key (字段名称)

二、删

删除记录

#删除指定记录
delete from [表名] where ...

#删除表中的所有记录,其工作原理为先删除表-->再建一张与原来结构一致的空表

truncate [表名]

删除表字段

alter table [表名] drop (字段)

删除表

drop table if exists tablename

删索引

alter table drop index [索引名称]

三、改

#改库名

rename database 原库名 to 新库名;

#改表名

rename table 原表名 to 新表名;

#改表字段

alter table [表名] modify (原字段名) [字段类型] [约束条] [默认值] first|after 已有列名

#改表字段(变更字段名)

alter table [表名] change (原字段名) (新字段名) [字段类型] [约束条] [默认值] first|after 已有列名
注:change命令可以更改原字段名,强烈建议使用change命令

#改记录

update [表名] set 字段=新值 where ... #对指定条件的记录进行更新操作

四、查

#查询

select * from [表名]

select * from [表名] limit n,m #从第(n+1)行开始返回m行

select (字段1,字段2...) from [表名]

#子查询

where子查询
select 字段1,sum(字段2) from (select * from [表名]) group by 字段1

in子查询

select 字段1,sum(字段2) from [表名] where 字段1 in (select distinct 字段 from [表名])

exists子查询

select id,name from [表名1] as a where not|exists(select * from [表名2] as b where a.id=b.id)

查询过程中所使用到的关键字必须按照如下顺序进行:

where,group by,having,order by,limit

#连接操作

#内联

select * from a inner join b on a.字段=b.字段
返回两表中所包含的公共信息

#左联

select * from a left join b on a.字段=b.字段
返回a表中所有信息,同时可以将关联上的b表信息加入查询结果中

#右联

select * from a right join b on a.字段=b.字段
效果与左联类似

转载地址:http://yxbfk.baihongyu.com/

你可能感兴趣的文章
mysql一个字段为空时使用另一个字段排序
查看>>
MySQL一个表A中多个字段关联了表B的ID,如何关联查询?
查看>>
MYSQL一直显示正在启动
查看>>
MySQL一站到底!华为首发MySQL进阶宝典,基础+优化+源码+架构+实战五飞
查看>>
MySQL万字总结!超详细!
查看>>
Mysql下载以及安装(新手入门,超详细)
查看>>
MySQL不会性能调优?看看这份清华架构师编写的MySQL性能优化手册吧
查看>>
MySQL不同字符集及排序规则详解:业务场景下的最佳选
查看>>
Mysql不同官方版本对比
查看>>
MySQL与Informix数据库中的同义表创建:深入解析与比较
查看>>
mysql与mem_细说 MySQL 之 MEM_ROOT
查看>>
MySQL与Oracle的数据迁移注意事项,另附转换工具链接
查看>>
mysql丢失更新问题
查看>>
MySQL两千万数据优化&迁移
查看>>
MySql中 delimiter 详解
查看>>
MYSQL中 find_in_set() 函数用法详解
查看>>
MySQL中auto_increment有什么作用?(IT枫斗者)
查看>>
MySQL中B+Tree索引原理
查看>>
mysql中cast() 和convert()的用法讲解
查看>>
mysql中datetime与timestamp类型有什么区别
查看>>