数据库(Database,DB)
数据库管理系统(Database Management System,DBMS)
数据库分类:
1.关系型(SQL)
表与表之间有关联,所有表只能存放在一个数据库中,大量写入数据时较困难,不利于分散
MySQL、Oracle、SQL server、SQLite、DB2
2.非关系型(NoSQL)
表与表之间没有关联,可以将表放在不同的数据库中
Redis、MongoDB
mysql运行机制
结构化查询语句SQL分类
操作数据库的常用命令行
1、连接数据库
mysql -h服务器主机地址 -u用户名 -p用户密码
2、创建数据库
create database [if not exists] 数据库名
3、删除数据库
drop database [if exists] 数据库名;
4、查看数据库
show databases
5、使用数据库
use 数据库名
列类型分类
超出设置长度,系统不会报错,直接截取可容纳的最大长度
可设置严格检查模式,超出长度时报错
set sql_mode='strict_trans_tables';
1.数值型
2.字符串类型
3.日期和时间数值类型
4.null值
不能进行算数运算,结果仍未null
数据字段属性
1.unsigned:无符号的
不允许为负数
2.zerofill:0填充的
不足位数的用0填充
3.auto_increment:自动增长的
每添加一条数据自动加1
通常用于设置主键,且为整数类型
可定义初始值和步长
4.null和not null
null:默认
not null:不允许为空
5.default: 默认值
6.comment: 注释
可插式存储引擎
engine:MyISAM、InnoDB、HEAP、BOB、CSV
常用类型:
适用场景:
InnoDB:安全性、事务处理、多用户操作表
MyISAM:节约空间及相应速度
修改表数据(alter table)
1、修改表名
alter table 旧表名 rename as 新表名;
2、添加字段
alter tabel 表名 add 字段名 列类型[属性]
3、修改字段
alter table 表名 modify 字段名 列类型[属性] alter table 表名 change 旧字段名 新字段名 列类型[属性]
4、删除字段
alter table[if exists] 表名 drop 字段名