数据库分类:
关系型数据库:表于表之间,行和列之间的关系进行数据存储
- 非关系型数据库:对象储存,通过对象的属性来决定(Not only Sql)
MySql是最好的关系数据管理系统 中小型网站、或者大型网站、集群!
数据库命令: flush privileges;–刷新权限 use ***;切换表 show tables;查看数据库中所有得表信息 describe student;显示数据库中所有的表的信息 create database **; 建表 exit; 退出
所有的语句都要 ;结尾
------------------------------------------------------ DDL 定义 DML 操作 DQL 查询 DCL 控制
数据类型
数值 | | |
---|
tinyint | 十分小的数据 | 1个字节 | smallint | 较小的数据 | 2个字节 | mediumint | 中等大的数据 | 3个字节 | int | 标准的整数 | 4个字节 | bigint | 较大的数据 | 8个字节 | float | 浮点数 | 4个字节 | double | 双精度浮点 | 8个字节 | decimal | 字符串形式的浮点数 | 金融计算的时候,一般使用decimal |
字符串 | | | |
---|
char | 字符串固定大小的 | 0-255 | | varchar | 可变字符串 | 0~65535 | 常用的变量String | tinytext | 微型文本 | 2^8-1 | | text | 文本串 | 2^16-1 | 保存大文本 |
时间日期 | java.util.Date |
---|
date | YYYY-MM-DD,日期格式 | time | HH:mm:ss,时间格式 | datetime | YYYY-MM-DD HH:mm:ss 最常用的时间格式 | timeStamp | 时间戳,1970.1.1到现在的毫秒数!也较为常用 | year | 年份表示 |
NULL:没有值,未知,不要用NULL进行计算,结果为NULL;
数据库的字段属性(重点)
Unsigned:
zerofill:
- 0填充的
- 不足的位数,使用0来填充,int(3),5 — 005
自增:
- 通常理解为自增,自动在上一条记录的基础上+1(默认)
- 通常用设计唯一的主键-index,必须是证书类型
- 可以自定义设计主键自增的起始值和步长
非空 not null
- 假设设置为not null,如果不给它赋值,就会报错!
- Null,如果不填写,默认就是null!
默认
创建表语句:
create table if not exists student
( id int(4) auto_increment comment '学号',
name varchar(30) default '匿名' not null comment '姓名',
pwd varchar(20) default '123456' not null comment '密码',
sex varchar(2) default '女' not null comment '性别',
birthday datetime null comment '出生日期',
address varchar(100) null comment '家庭住址',
email varchar(50) null comment '邮箱',
primary key(id)
)engine=INNODB default charset=utf8
格式
CREATE TABLE [IF NOT EXISTS] 表名(
'字段名' 列类型 [属性] [索引] [注释],
'字段名' 列类型 [属性] [索引] [注释]
)[表名][字符集设置][注释]
数据库引擎
| myisam | innodb |
---|
事务支持 | 不支持 | 支持 | 数据行锁定 | 不支持 | 支持 | 事务支持 | | |
|