MySQL--增删改查

数据库操作

创建数据库

create database 库名 character set 编码

删除数据库

drop database 库名

数据表操作

创建表

create table 表名(
	字段1 数据类型,
	字段2 数据类型,
	...
)

向表中添加数据(方法1)

insert into 表名(字段1,字段2) values(1,2)

向表中添加数据(方法2,适合全数据)

insert into 表名 values(1,2)

向表中添加数据(方法3,适合单个数据)

insert into 表名 set 字段1=1,字段2=2

向表中插入多条数据

insert into 表名 values()

删除数据

delete from 表名 where 条件 -- 删除某种数据
delete from 表名 -- 全部删除,记录状态自动增加
truncate table 表名 -- 全部删除,自动增加从新计数

数据表修改

update 表名 set 字段1=1,字段2=2 where 条件

DQL查询

查看某个数据库详细信息

show create database 库名

查看mysql服务器下所有的库

show databases

查看当前用户链接的是哪种数据库

select database()

查看指定的数据库下边有哪些表

show tables

DDL增删改查

查表结构

desc 表名

打印某张表sql创建信息

show create table 表名字

对已经存在的表进行重命名

rename table 旧表名 to 新表名

向已经存在的表中添加字段

alter table 表名 add 字段名 数据类型

对表中的字段进行重命名

alter table 表名 change 旧字段名 新字段名 数据类型

删除一个表中的字段

alter table 表名 drop 被删除的字段名

备份还原

备份

mysqldump -uroot -p123456 需要备份的数据库名称>备份后的sql脚本名称

恢复

-- 进入mysql环境,创建一个库,在库下边还原数据
source 备份的数据库脚本

数据库类型的属性

常见的数据类型:varchar float int date datetime text(65535)
默认值:default '默认值'
非空:not null
自动增长:auto_increment
主键:primary key -- 主键数据不能重复 一张表只能有一个主键
unique -- 字段内容不能重复

逻辑运算符

and --与
or -- 或
not -- 非
xor -- 异或

查询约束

分组查询

group by

查询字段是否包含某个内容

having 字段=xx值

分页查询

limit x,y -- x:开始下标 y:个数

排序

order by 字段 升序/降序
-- 降序(DESC)
-- 升序(ASC) 

聚合函数

-- 最大值
max()
-- 最小值
min()
-- 平均值
avg()
-- 求和
sum()
-- 统计个数
count()

多表查询

select * from1,2 where 条件

合并集合

union
union all

内连接

inner join

外连接

left join -- 左外连接
right join -- 右外连接

模糊查询

like '%XX' -- 搜索结尾为XX的
like '%XX%' -- 搜索包含XX的

视图

创建视图

create view 视图名 as 查询语句

-- eg:
create view view_all
as select * from dept d inner join emp e
on d.id = e.deptId

删除视图

drop view 视图名

查询视图中的数据

select * from 视图名 where 条件

查看视图

show full tables

查看结构

show create procedure 存储名;

删除视图中的某一条数据(多表不能删)

delete from 视图名 where 条件

向视图中添加数据

insert into 视图名 set 字段 =

视图中修改数据

update 视图名 set 字段 =where 条件

事务

多组操作要么全部成功要么全部失败

开启事务:start transaction
回滚事务:(如果事务提交后,不能够回滚) rollback
提交事务:commit

事务的4大特性:

  • 原子性:同一个事务中多组操作不能够分割,必须是一个整体
  • 一致性:事务操作前与事务操作后总量保持一致
  • 隔离性:多个事务之间互不干扰
    1. 脏读
    2. 虚读和幻读
    3. 不可重复读
  • 持久性:数据一旦进入到库中,表中,就永久存在

存储过程

存储

DELIMITER // 
--in参数  out返回
CREATE PROCEDURE 存储过程名(in/out 参数1 数据类型1,in/out 参数2 数据类型2) 
BEGIN 
	代码块; 
END 
// 
DELIMITER ;

调用

call 存储过程名(参数名1,参数2)
-- 有返回值的
call 存储过程名(参数名1,参数2,@res)
select @res

代码块结构

-- if条件
if XXX then
	XXX;
elseif
	XXX;
else
	XXX;
end if;
-- case选择分支
case i
	when XX then
		XXX;
	when XX then
		XXX;
	else
		XXX;
end case;

查看存储过程表

select name from mysql.proc -- 可以加where

删除

drop procedure 表名;
  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值