了解MySQL数据库
为什么学习数据库:
1、岗位需求
2、现在是大数据时代,得数据库者得天下
3、被迫需求,存数据
4、数据库是所有软件体系中最核心的存在
数据库分类:
1、关系型数据库(SQL)
1)MySQL、Oracle、Sql Server、DB2、SQLite
2)通过表和表之间,行和列之间的关系进行数据的存储
2、非关系型数据库:(No SQL)
1)Redis、MongDB
2)对象存储,通过对象自身的属性来决定
DBMS(数据库管理系统):数据库的管理软件,科学有效的管理我们的数据,维护和获得数据
操作数据库:
1、创建数据库:
create database 数据库名;
2、删除数据库:
dbop database 数据库名;
3、切换数据库:
use 数据库名;
数据库的列类型:
1、数值
int标准的整数4个字节
bigint较大的数据8个字节
float浮点数4个字节
double浮点数8个字节
decimal字符串形式的浮点数,一般用于金融计算
2、字符串
char字符串固定大小0~255
varchar可变字符串0~65535
tinytext微型文本2^8-1
text文本串2^16-1
3、时间日期
dateYYYY-MM-DD日期格式
timeHH:mm:SS时间格式
datetimeYYYY-MM-DD HH: mm: ss最常用的时间格式
timestamp时间戳1970.1.1到现在的毫秒数
year表示年份
4、null
没有值
数据库的字段属性:
Unsigned:声明了该列不能声明为负数
zerofill:0填充的,不足的位数使用0来填充
自增:可以理解为自增,通常用来设计唯一的主键,必须是整数类型
非空:如果不给它赋值就会报错
默认:设置默认的值
常用命令:
show create database 数据库名//查看创建数据库的语句
show create table 数据表名//查看创建数据表的语句
desc 数据表名//显示表的结构
数据表创建:
create table [if not exists] '表名' (
'字段名' 列类型 [属性] [索引] [注释],
'字段名' 列类型 [属性] [索引] [注释],
......
'字段名' 列类型 [属性] [索引] [注释]
) [表类型] [字符集设置] [注释]
修改:
1、修改表名:alter table 旧表名 rename as 新表名
2、修改表的字段(重命名,修改约束):
alter table 表名 modify 字段名 列属性//修改约束
alter table 表名 change 旧字段名 新字段名//字段重命名
3、增加表的字段:alter table 表名 add 字段名 列属性
4、删除表字段:alter table 表名 drop 字段名
删除表:
drop table if exists 表名
注意点:
1、字段名尽量使用' '包裹
2、注释 -- /**/
3、sql关键字大小写不敏感
4、所有的符号全部用英文
外键:
1、创建外键关系:alter table 表名 add constraint 约束名 foreign key(作为外键的列)references 关联的表(关联的字段)
2、物理外键,数据库级别的外键,不建议使用!(避免数据库过多造成困扰)
3、最佳实现:
1)数据库就是单纯的表,只用来存数据,只有行(数据)和列(字段)
2)我们想使用多张表的数据,想使用外键可以用程序去实现

浙公网安备 33010602011771号