熟悉和安装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;