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;

原文地址:http://blog.51cto.com/13784264/2166237

时间: 2024-10-24 00:36:09

mysql 数据库基本操作大全的相关文章

1Python全栈之路系列之MySQL数据库基本操作

Python全栈之路系列之MySQL数据库基本操作 MySQL数据库介绍 MySQL是一种快速易用的关系型数据库管理系统(RDBMS),很多企业都在使用它来构建自己的数据库. MySQL由一家瑞典公司MySQL AB开发.运营并予以支持.它之所以非常流行,原因在于具备以下这些优点: 基于开源许可发布,无需付费即可使用. 自身的功能非常强大,足以匹敌绝大多数功能强大但却价格昂贵的数据库软件. 使用业内所熟悉的标准SQL数据库语言. 可运行于多个操作系统,支持多种语言,包括 PHP.PERL.C.C

mysql数据库基本操作练习

一.MySQL基本管理 1.使用mysql命令连接数据库. 2.练习查看/删除/创建库的相关操作. 3.练习查看/删除/创建表的相关操作. 实验步骤: 1.使用mysql命令连接数据库 连接MySQL服务器时,最基本的用法是通过 -u 选项指定用户名.-p指定密码.密码可以写在命令行(如果不写,则出现交互,要求用户输入),当然基于安全考虑一般不推荐这么做: [[email protected] ~]# mysql -uroot -p1234567         //可以紧挨着选项,不要空格 W

Java小项目之Login界面理解MVC(MySQL数据库基本操作)

说真的,第一次看到MVC时候的感觉就和看到面向对象编程一样,感觉很方.之后慢慢的写了一些代码,在理解面向对象编程的同时也看到了MVC,虽然现在还是用不到,但是我觉得还是有些了解的好. 先谈谈MVC:模型(model):程序员编写程序应有的功能(实现算法等等).数据库专家进行数据管理和数据库设计(可以实现具体的功能).  视图(view):设计界面. 控制(Controller):处理事务. 很多地方可能我理解的不是很到位.只是能写出来一个大概,后续我还会更新.又重新查了一遍资料,感觉又开始有一种

Mysql数据库基本操作 (一)

1.使用mysql数据库的必备要素 a. 安装MySQL服务端 b. 安装MySQL客户端 c. [客户端]连接[服务端] d. [客户端]发送命令给[服务端MySQL]服务的接受命令并执行相应操作(增删改查等) 2.连接数据库命令 mysql -u root -p 3.常用命令 show tables; # 查看数据库全部表 select * from 表名; # 查看表所有内容 create table 表名( 列名 类型 是否可以为空, 列名 类型 是否可以为空 )ENGINE=InnoD

mysql数据库基本操作(03)

mysql -h主机地址 -u用户名 -p用户密码                       进入mysql数据库 mysqladmin -u用户名 -p旧密码 password 新密码                更改密码 SHOW DATABASES;                                             列出数据库 USE database_name                                           使用databas

Mysql数据库语句大全

零.用户管理: 1.新建用户: >CREATE USER name IDENTIFIED BY 'ssapdrow'; 2.更改密码: >SET PASSWORD FOR name=PASSWORD('fdddfd'); 3.权限管理 >SHOW GRANTS FOR name;    //查看name用户权限 >GRANT SELECT ON db_name.* TO name; //给name用户db_name数据库的所有权限 >REVOKE SELECT ON db_n

Mysql数据库基本命令大全

1.当需要通过yum安装mysql数据库 首先需要进行yum源的更新 [[email protected] ~]# rpm  -Uvh  http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm [[email protected] ~]# yum install mysql-community-server mysql-community-devel 2.源码包安装 参考   http://douer.blog.51

【MySQL】MySQL数据库操作命令大全

特别注意:MySQL数据库不分大小写 1.创建数据库:create database Thinkgamer; 2.删除数据库:drop database Thinkgamer; 3.选择使用某个数据库:use Thinkgamer; 4.创建数据表: mysql>create table cyan ->( ->学号 int(3) not null primary key, ->姓名 char(3); ->性别 char(1) not null default 1 ->)

【转】mysql数据库优化大全

数据库优化 sql语句优化 索引优化 加缓存 读写分离 分区 分布式数据库(垂直切分) 水平切分 MyISAM和InnoDB的区别: 1. InnoDB支持事务,MyISAM不支持,对于InnoDB每一条SQL语言都默认封装成事务,自动提交,这样会影响速度,所以最好把多条SQL语言放在begin和commit之间,组成一个事务: 2. InnoDB支持外键,而MyISAM不支持.对一个包含外键的InnoDB表转为MYISAM会失败: 3. InnoDB不保存表的具体行数,执行select cou