数据库介绍
数据库:存储数据的仓库 - 数据库管理系统(DBMS)
数据:数据类型 - 数字(整数、浮点数),字符(字符串),日期等。
数据库的种类:
1.关系型数据库 - 主要是依赖表格进行数据的保存 - 数据库中保存的都是表格。利用表格之间的字段关系进行操作。
经典代表:Oracle(通常使用在平台开发:银行项目,金融项目等等)
特点:收费贵,安全性高,稳定
mysql(当前分布式开发中最常用的数据库) - 目前已经被Oracle收购
特点:灵活,支持分布式管理
Sql Server:微软提供的,这个数据库的市场占有率17%~25%
主要是支持微软自己的产品:.net(c#)
Access:也是微软旗下的用于office软件的数据库
优点:稳定
2.对象型数据库(非关系型数据库) - 不依赖表格之间的关系,将每一个数据当成是独立的对象来处理,利用面向对象思想处理的。
注意:对象型数据库也支持关系型处理。
经典代表:MogoDB - 主要是支持web前端和python等等
Nosql - 可以不使用sql语句处理
优点:方便,操作简便
mysql数据库概述
优点:
- 轻便,灵活
- 在被Oracle收购前免费,收购后商用需要收费
- 在分布式的支持上很默契


数据库的使用:
数据库语言 - sql:是一门不健全的语言,也可以称之为命令,通过命令操作数据库。是关系型数据库的语言,所有 的数据库都支持sql,但部分的数据有方言。比如oracle数据库有自己的函数。
mysql命令
DDL语句 - 用来定义数据库对象。创建数据库、表等 - 是针对数据库和表的结构进行操作!
常用命令:show,create,alter,desc,drop,truncate
DML语句 - 数据操作语句:添加,删除,修改数据 - 是针对表中的数据进行处理!
常用命令:insert,delete,update
DQL语句 - 数据库查询语句(最常用最复杂的语句)- 数据的查询
命令:select
DCL语句 - 事务性管理的语句:管理数据库的访问权限等等 - 通常数据库管理员DBA
mysql数据库的结构:
数据库->私有库->存储数据表
DDL语句
数据定义语言:简称DDL(Data Definition Language),用来定义数据库对象:数据库,表,列等。
关键字:create,alter,drop等。
show databases; - 查看当前总数据库中的所有的私有库show create database 数据库; - 查看当前总数据库中的指定的私有库create database 数据库名; - 创建指定的私有数据库create database 数据库名 character set utf8;use 数据库名; - 使用当前指定的数据库select database(); - 查询当前使用的数据库(这是一个函数,不是DDL语句)show tables; - 查看当前私有库中的所有表格create table 表名(); - 创建表格desc 表名; - 查看表结构以及详情drop table 表名; - 删除表格(删除表结构)alter table 表名 add 字段 数据类型; - 修改表结构 - 添加字段以上操作一旦使用不可回滚!
修改表结构格式
- alter table 表名 add 列名 类型(长度) [约束];
修改表添加列
- alter table 表名 modify 列名 类型(长度) 约束;
修改表修改列的类型长度及约束;
- alter table 表名 drop 列名;
修改表删除列
- alter table 表名 change 旧列名 新列名 类型(长度) 约束;
修改表修改列名
- rename table 表名 to 新表名;
修改表名
- alter table 表名 character set 字符集;
修改表的字符集
show tables;
desc user;
#删除表
drop table area;
#创建表
create table user(
id int primary key,
name varchar(10)
);
#修改表结构
# 添加列
alter table user add age int;
# 修改列的类型长度
alter table user modify age varchar(10);
# 修改列名
alter table user change age sex varchar(10);
# 删除列
alter table user drop sex;
# 修改表名
rename table user to user1;
rename table user1 to user;
# 修改字符集
alter table user character set utf8;
DML语句:主要是对表中数据进行操作
数据操作语言:简称DML(Data Manipulation Language),用来对数据库中表的记录进行更新。
关键字:insert,delete,update等。
insert into 表名(字段1,字段2,...) values(值1,值2,...) - 插入数据
insert into 表名 values(值1,值2,...) - 插入数据
update 表名 set 字段名=值,字段名=值...; - 更新指定字段
update 表名 set 字段名=值,字段名=值...where 条件;
delete from 表名 [where 条件]; - 删除记录
truncate table 表名; - 删除表所有记录(直接将auto_increment置为0,重新开始)
DQL语句
select 字段 from 表名; - 查询表中的数据
select * from 表名; - 查询表格中的所有的字段,注意:实际开发中不要使用*,要查询什么字段就写什么字段
使用*的弊端:会严重的影响查询性能(速度)
select price as 价格,pname 产品名称 from product;
select price 原价,price*0.8 折扣价 from product;
将字段重命名,as可以省略
select distinct price from product;
distinct用于去重处理
面试题:怎么提升数据库的查询效率?
回答:查询中不要使用*
约束
DOS命令窗口乱码问题解决方案
错误原因:mysql的客户端设置编码默认是utf8,而系统的cmd窗口编码是GBK。
方法一:临时方案
方法二:
修改安装目录下的my.ini文件,重启服务所有地方生效**default-character-set=utf8**修改为GBK。
