存储数据什么的用文件不好吗?为什么要用数据库?
文件保存有下面几个坏处:
- 文件的安全性问题;
- 文件不利于查询和对数据的管理;
- 文件不利于存放海量数据;
- 文件在程序中控制不方便;
而使用数据库:数据库有更好的效率,另外,文件系统是无法存储文件内容之间的关系的。
1.数据库的四大类:
DDL (数据定义语言)
数据定义语言 - Data Definition Language
用来定义数据库的对象,如数据表、视图、索引等
create drop alter truncate
DML (数据操纵语言)
数据处理语言 - Data Manipulation Language
在数据库表中更新,增加和删除记录
如 update, insert, delete 不包含查询
DCL (数据控制语言)
数据控制语言 – Data Control Language
指用于设置用户权限和控制事务语句
如grant,revoke,if…else,while,begin transaction
DQL (数据查询语言))
数据查询语言 – Data Query Language
数据表记录的查询。
select
2.数据库的操作
1)基本指令
查看数据库—— show databases;
创建数据库 ——create database t1;
CREATE DATABASE IF NOT EXISTS t1; 创建数据库 使用的是create关键字
查看警报信息 ——SHOW WARNINGS
显示数据库的编码方式——SHOW CREATE DATABASE t1;
修改数据库使用的是ALTER 关键字
修改数据库的编码字符集 ——ALTER DATABASE t2 CHARACTER SET = utf8;
删除数据库 ——DROP DATABASE t2;
2)基本数据类型
<1>数值类型,常用int,float
类型 | 大小 | 范围(有符号) | 范围(无符号) | 用途 |
---|---|---|---|---|
TINYINT | 1 字节 | (-128,127) | (0,255) | 小整数值 |
SMALLINT | 2 字节 | (-32 768,32 767) | (0,65 535) | 大整数值 |
MEDIUMINT | 3 字节 | (-8 388 608,8 388 607) | (0,16 777 215) | 大整数值 |
INT或INTEGER | 4 字节 | (-2 147 483 648,2 147 483 647) | (0,4 294 967 295) | 大整数值 |
BIGINT | 8 字节 | (-9,223,372,036,854,775,808,9 223 372 036 854 775 807) | (0,18 446 744 073 709 551 615) | 极大整数值 |
FLOAT | 4 字节 | (-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) | 0,(1.175 494 351 E-38,3.402 823 466 E+38) | 单精度浮点数值 |
DOUBLE | 8 字节 | (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) | 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) | 双精度浮点数值 |
DECIMAL | 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 | 依赖于M和D的值 | 依赖于M和D的值 | 小数值 |
<2>字符串类型
字符串类型 | 字节大小 | 描述及存储需求 |
---|---|---|
CHAR | 0~255字节 | 定长字符串 |
VARCHAR | 0~255字节 | 变长字符串 |
TINYBLOB | 0~255字节 | 不超过 255 个字符的二进制字符串 |
TINYTEXT | 0~255字节 | 短文本字符串 |
BLOB | 0-65535字节 | 二进制形式的长文本数据 |
TEXT | 0-65535字节 | 长文本数据 |
MEDIUMBLOB | 0-16 777 215字节 | 二进制形式的中等长度文本数据 |
MEDIUMTEXT | 0-16 777 215字节 | 中等长度文本数据 |
LOGNGBLOB | 0-4 294 967 295字节 | 二进制形式的极大文本数据 |
LONGTEXT | 0-4 294 967 295字节 | 极大文本数据 |
VARBINARY(M) | 允许长度0-M个字节的定长字节符串,值的长度+1个字节 | 定长字符串 |
BINARY(M) | M允许长度0-M个字节的定长字节符串 | 定长字符串 |
3)创建表
CREATE TABLE tb1(
id int,
Username varchar(20),
Salary float(18,2));
查看表结构
desc tb1;
show columns from tb1
表示该值不能为负数 unsigned
向表中插入记录 Insert
insert into tb1(id,Username,Salary) values(1,’zhangsanfeng’,9000.00);
insert into tb1 values(3,’wangwufeng’,3000.00);
insert into tb1 (Username,Salary)values(’wangwufeng’,3000.00);
查询表中的记录
select * from tb1————*表示所有列
删除表中的全部记录 delete from tb1
删除表中的某一条记录 delete from tb1 where id=3;
删除id为null值的一条记录 delete from tb1 where id is null;
is not null
修改记录 update
update tb1 set Salary = Salary -1000.00 where id = 1;
以上 增删改查的操作都被叫做DML
DML数据操作语言(SELECT INSERT DELETE UPDATE)