一、数据库简介
1.分类
关系型数据库:Mysql、Oracle、SqlServer、DB2 PG达梦等
非关系型数据库:Redis、MongoDB等
2.MySQL
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的RDBMS (Relational Database Management System,关系数据库管理系统)应用软件之一。
MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
3.数据库语言
SQL包括了所有对数据库的操作,主要是由4个部分组成:
(1)数据定义:又称为“DDL语言”,定义数据库的逻辑结构,包括定义数据库、基本表、视图和索引4部分
(2)数据操纵:又称为“DML语言”,包括插入、删除和更新三种操作
(3)数据查询:又称为“DQL语言”,包括数据查询操作
(4)数据控制:又称为“DCL语言”,对用户访问数据的控制有基本表和视图的授权及回收
(5)事务控制:又称为“TCL语言”,包括事务的提交与回滚
cmd登录数据库:mysql -u root -p 默认端口号:3306
4.简单命令
·show databases;
查询所有数据库
·use 数据库名;
选择使用数据库
·create database 数据库名;
创建数据库
·drop database 数据库名;
删除数据库
·show create database 数据库名;
查看数据库编码
·show tables;
查看当前数据库下面所有的表格
·create table 表名称 (字段 字段类型(长度));
·create table 表名称 (字段 字段类型(长度),字段 字段类型(长度),字段 字段类型(长度)........);
创建表
·desc 表名称;
查看表结构
·drop table 表名称;
删除表
·insert into person values (值,值,值);
·insert into person(字段,字段) values (值,值);
给表中添加数据
若表名后面什么也不写,values后面则写全字段,按顺序来,字段类型不能乱
若指定添加,则在表名称后面写清楚要添加的字段,同时values后面要和字段相对应
·select * from 表名;
查询表中所有数据
5.数据库中的数据类型
·整数类型包含(TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT),适用于存储整数
·浮点数类型(FLOAT、DOUBLE),适用于存储小数
·定点数类型(DECIMAL),适用于存储精度要求高的数值,如货币金额等
·字符串类型(CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT),适用于存储文本数据
·二进制类型(BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB),适用于存储二进制数据
·日期和时间类型(DATE、TIME、DATETIME、TIMESTAMP),适用于存储日期和时间相关的数据
char和varchar的区别
1.char是定长的,范围是0~255,char会开辟固定的长度,值超出范围将被截短,值小于范围的用空格填充
2.varchar是可变长度,范围0~65535,varchar是数据占多长就多长,不会来填补,但是会多一个字节来存储其字符的长度3,它们之间的不同处在于MySQL数据库处理指示器的方式,char把这个大小视为值的大小,在长度不足的时用空格补足
varchar类型把它是为最大值,并且只存储字符串实际需要的长度(增加一个额外字节来存储字符串本身的长度)来存储值,所以短于指示器长度的varchar类型不会被空格填补,但长于指示器的值仍然会被截短
3.varchar类型可以根据实际内容动态改变存储值的长度,因此在不能确定字段需要多少字符时使用varchar类型可以有效地节约磁盘空间、提高存储效率
4.char的存储方式是,对英文字符(ASCII)占用1个字节,对一个汉字占用两个字节
varchar的存储方式是,对每个英文字符占用2个字节,汉字也占用2个字节,两者的存储数据都非unicode的字符数据