SQL语句整理

MySQL

简介

mysql 是一种关系型(中等)数据库,用来存储海量数据,最常见的使用是web端后台的数据存储。
是一种磁盘释数据库,访问需要通过tcp链接后进行访问

Mysql数据库引擎

Mysql在V5.1之前默认存储引擎是MyISAM;在此之后默认存储引擎是InnoDB
 1. MyISAM:MYISAM强调了快速读取操作,这可能就是为什么MySQL受到了WEB开发如此青睐的主要原因:在WEB开发中你所进行的大量数据操作都是读取操作。MyISAM格式的一个重要缺陷就是不能在表损坏后恢复数据,你需要手动经常备份重要的表格。
 2. InnoDBInnoDB数据库引擎都是造就MySQL灵活性的技术的直接产品,尽管要比MyISAM引擎慢很多,但是InnoDB包括了对事务处理和外来键的支持,这两点都是前两个引擎所没有的。如前所述,如果你的设计需要这些特性中的一者或者两者,InnoDB3. MEMORY:速度是最快的,因为它是把数据存到内存中,如果内存出现异常就会影响数据。如果重启或者关机,所有数据都会消失。因此,基于MEMORY的表的生命周期很短,一般是一次性的。

sql语句

SQL 语句分为三种类型:
DCL(Data Control Language 数据库控制语言)
DDL(data definition language 数据库定义语言)
DML(data manipulation language 数据操纵语言)
常用的是DML,用来增删改查数据

一、数据库的创建

1.1、显示数据库
show database;
1.2、创建数据库
create database 数据库名 default charset utf8_general_ci;
1.3、使用数据库
use 数据库名;
1.4、用户管理
创建用户
create user 用户名 identify by 密码;
删除用户
dorp user 用户名;
修改用户名
rename user 用户名 to 新用户名
修改密码
set password for 用户名 = Password(新密码)
1.5 用户权限设置
查看权限
show grants for 用户名;
授权
grant 权限 on 数据库.to 用户名;
取消权限
revoke 权限 on 数据库.from 用户名; 
1.6 数据备份与还原
备份
mysqldump -u root -p voice > voice.sql;
还原1
create database voice;
use voice;
source voice.sql;
还原2
mysql -u root -p voice < voice.sql;

二 、表格的创建

2.1 显示数据表
show tables;
2.2 创建数据表
create table 表名
(
   字段名 字段类型  是否为空,
   字段名 字段类型  是否为空
)ENDING=InnoDB DEFAULT CHARSET=utf8;
2.3 删除表格
drop table 表名;
2.4 修改表
alter table 表名  add|drop column | modify column 字段 字段类型;

三 、数据操作

3.1 增加数据
增加一条
insert into 表名(列名,列名...)values(,);
增加多条
insert into 表名(列名,列名...)values(,),(,);
查询出来的添加
insert into 表名(列名,列名...)select(列名,列名...) from;
3.2 删除数据
delete from 表名;
delete from 表名 where 过滤条件;
3.3 改数据
update 表名  set 字段 =where 过滤条件;
3.4 查询
普通查询
select * from 表名;
select * from 表名 where 过滤条件;
select * fromwhere id between A and B;
select * fromwhere id in 一个集合;
select * fromwhere id not in 一个集合;
select * fromlimit startnum, num;
排序
select * from 表名 order by 字段 desc|asc;  降序或升序,默认升序
select * from 表名 order by 字段1 desc, 字段2 asc; 先按1降序再按2升序
模糊查询
select * from 表名 where 字段名 like%abc%”
聚合查询
使用内置函数
COUNT();SUM();MIN();MAX();AVG();
分组查询
select 字段 from 表名 group by 字段
group by 必须在where之后,order by之前

多表查询
 1select A.name ,B.name
    from A,B
    where A.id = B.id
 2select A.name ,B.name
    from A inner|left|right join B
    on A.id =B.id
 3select name
    from A
    union | union all  #两张表上下连接 组合处理和组合不处理
    select name 
    from B
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值