mysql 数据库基本操作大全

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 数据库基本操作大全相关的知识,希望对你有一定的参考价值。

熟悉和安装mysql数据库后,下面介绍数据库的基本操作,以下所有数据库语句均在"mysql>"操作环境中执行。

一、mysql---增删改查
增:

//创建数据库
create database school;
//创建表
create table info (id int not null auto_increment primary key,name e char(10) not null,score decimal(5,2),hobby int(2));
注释: primary key 主键 auto_increment 自增列

技术分享图片

//新增表中内容
insert into info (id,name,score,hobby) values (1,‘zhangsan‘,89,1); #注意前后匹配
//增加列
alter table info add column age int(3);

技术分享图片

查:

//查看数据库
mysql> show databases;
//查看表结构
mysql> desc info;
//查看数据库中表
mysql> show tables;
//查看表中内容
mysql> select from info;
//查看表中具体条目
select
from 表名 where id=2[and name=?] [or name=?];

上述查看条目请参考第一部分mysql的创建部分操作,这里不再赘述,咱们重点看多表查询。

//多表查询 关联表(附表的主键是主表的附键)
select * from info inner join hobby where info.id=hobby.id;
select info.name,score,hobby.hobname from info inner join hobby where info.id=hobo.id=hobby;
select i.name,score,h.hobname from info as i inner join hobby as h where i.id=h.id;

第一张截图是两张关联表,第二张截图是查询演示
技术分享图片
技术分享图片

改:

//更改表中数据
update info set score=75 where id=6;

删:

//整行删除
delete from info where name=‘test‘;
//删除列
alter table info drop column age;
//删除表
drop table info;
//数据库
drop database school;

以下是简单对删除行、列作的演示,其他同理
技术分享图片
二、mysql---排序、聚合函数
排序:

select from info where 1=1 order by score ; asc--升序,可不写 #默认升序
select
from info where 1=1 order by score desc ; desc--降序

技术分享图片

函数:

统计count() ; 可以改为1
select count(*) from info;
平均值avg ()
select avg(score) from info;

技术分享图片

三、mysql---索引
简介
索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。
类型
普通索引:最基本的索引,没有任何限制
唯一索引:与"普通索引"类似,不同的就是:索引列的值必须唯一,但允许有空值。
主键索引:它 是一种特殊的唯一索引,不允许有空值。
全文索引:仅可用于 MyISAM 表,针对较大的数据,生成全文索引很 耗时好空间。
组合索引:为了更多的提高mysql效率可建立组合索引,遵循”最左前缀“原则。创建复合索引时应该将最常用(频 率)作限制条件的列放在最左边,依次递减。

//创建普通索引
create index id_index on info(id);
//创建唯一索引
create unique index id_index on info(id);

技术分享图片

//创建主键索引
alter table info add primary key(id);

技术分享图片

//创建全文索引
create table infos (descript TEXT,FULLTEXT(descript));

技术分享图片

//创建多页索引
create index multi_index on info(name,address);

技术分享图片

//查看索引: 上述过程已经显示
show index from info;
show index from info G; 纵向显示

  • unique 1 不是唯一
    unique 0 唯一
    //删除索引 (主键、全文索引删除命令比较特殊)
    drop index id_index on info; #普通/唯一索引
    alter table info drop primary key; #主键索引
    drop table infos; #全文索引

四、mysql---事务
简介
事务是一组不可被分割执行的SQL语句集合,如果有必要,可以撤销。银行转账是经典的解释事务的例子。用户A给用户B转账500元主要步骤可以概括为如下两步。
  第一,账户A账户减去500元;
  第二,账户B账户增加500元;
  这两步要么成功,要么全不成功,否则都会导致数据不一致。这就可以用到事务来保证,如果是不同银行之间的转账还需要用到分布式事务。
性质
事务的机制通常被概括为“ACID”原则即原子性(A)、稳定性(C)、隔离性(I)和持久性(D)。
  原子性:构成事务的的所有操作必须是一个逻辑单元,要么全部执行,要么全部不执行。
  稳定性:数据库在事务执行前后状态都必须是稳定的。
  隔离性:事务之间不会相互影响。
  持久性:事务执行成功后必须全部写入磁盘。
事务处理方法
1、用 BEGIN, ROLLBACK, COMMIT来实现
BEGIN 开始一个事务
ROLLBACK 事务回滚
COMMIT 事务确认
2、直接用 SET 来改变 MySQL 的自动提交模式:
SET AUTOCOMMIT=0 禁止自动提交
SET AUTOCOMMIT=1 开启自动提交
实例演示
第一张图是未设置事务前的原表,以作比较
技术分享图片
下图是具体操作过程
技术分享图片
五、mysql---视图
简介
视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据。作为一个select语句保存在数据字典中的。
通过视图,可以展现基表的部分数据;视图数据来自定义视图的查询中使用的表,使用视图动态生成。
作用
一张表或多张表中的数据给不同的权限用户提供访问,安全有效。

//创建视图
create view 视图名称 AS
//select 语句
select from info where score > 80; 查看大于80分的人
//形成视图进行查看
create view score_view as select
from info where score >80;
//查看视图
select * from score_view;

技术分享图片

以上是关于mysql 数据库基本操作大全的主要内容,如果未能解决你的问题,请参考以下文章

MySQL命令大全

MySQL命令大全——基本操作

常用的Mysql数据库操作语句大全

MySQL常用命令操作大全

常用的Mysql数据库操作语句大全

Mysql数据库基本命令大全