MySQL数据库基本sql语句操作

一、数据库概念

  DBMS:数据库管理系统

二、数据库种类

(一)、关系型数据库

特性:

  • 基于单一关系模型,结构化存储,有完整性约束
  • 通过二维表建立数据之间的联系
  • 采用结构化查询语言(SQL)做数据读写
  • 操作保存数据(事务)的一致性

优点:

  • 易于维护
  • 使用方便
  • 便于理解
  • 支持SQL:用于复杂查询

缺点

  • 数据读写必须经过sql解析,大量数据、高并发下读写性能不足
  • 为保证数据一致性,需要加锁,影响并发操作
  • 无法适应非结构化的存储
  • 大量数据集中到一台服务区处理,使服务器不堪重负
  • “阻抗失谐”,即数据库中存储的对象与实际的对象实体有一定的差别
  • 扩展困难
  • 数据库庞大,价格昂贵

常见的关系型数据库

  Oracle、SQL Server、Sybase、DB2、Access、MySql

(二)、非关系型数据库

特点

  • 非结构化的存储。
  • 基于多维关系模型。
  • 部署容易,开源免费,成本低

优点

  • 处理高并发、大批量数据的能力强
  • 支持分布式集群,负载均衡,性能高
  • 解决“阻抗失谐”问题
  • 内存级数据库,查询速度快
  • 存储格式多,支持key-value形式、文档形式、图片形式
  • 没有多表连接查询机制的限制,扩展性高

缺点

  • 技术起步晚,维护工具以及技术资料有限
  • 不支持sql工业标准
  • 没有join等复杂的连接操作
  • 事务处理能力弱
  • 没有完整性约束,对于复杂业务场景支持较差

常见的非关系型数据库

  NoSql、Cloudant、MongoDb、redis、HBase

三、基本sql语句操作

(一)、针对库(database)

create database 库名 charset 编码形式;

show databases;  # 查看所有数据库
​show create database 数据库名;  #查看指定数据库

alter database 数据库名 charset gbk; # 只能更改数据编码,不能改数据库名

drop database 数据库名;

(二)、针对表(table)

  应该在具体某一个库下面操作表,所以需先切换到指定数据库

use 数据库名;

create table 表名(id int,name char);

show tables;  # 显示选定数据库下所有表名
show create table 表名;  # 显示指定表名
desc(describe)表名;  # 显示表结构 

alter table 原表名 modify 新表名 字段类型(宽度); # 更改表名和字段类型(宽度)

drop table 表名;

(三)、针对数据(data)

insert into t1 values(1,'moon'),(2,'hysen'),(3,'pinking');

select 字段名 from 表名;

update 表名 set 字段名=新值 where 字段名=原值;

delete from 表名 where 字段名=值;

四、存储引擎

  不同的应用软件处理不同类型的数据MySQL5.5版本及以上默认的存储引擎是innodb,以下是myisam
  innodb:支持行锁表锁,外键,事物,安全性更高,较myisam数据更安全
  myisam:仅仅支持表锁不支持行锁,查询速度较innodb更快
  memory:内存引擎,将所有的数据直接放在内存,一旦断电数据全部消失
  blackhole:一切存入其中的数据都会消失

create table 表名(id int,name char(16)) engine=innodb;  # 指定存储引擎

猜你喜欢

转载自blog.csdn.net/weixin_43860025/article/details/90414501