1.概念
database -->数据库–>DB
relational database management system —> RDBMS关系型数据库
database adminstrator -->DBA 数据管理员
database system -->DBS 数据库系统
2.命令和指令
–查看数据库
show databases;
–创建数据库school(最大允许4个字节)
create database school default charset utf8mb4;
–删除名为school的数据库
drop database test;
\c 清除
–修改默认字符集
alter database school default charset gbk
–切换数据库
use school;
–查看表格
show tables;
–查看所有的数据类型
?data types;
help data types;
–建二维表格(注意每个公司要求的表格名格式)varchar(50),长度可变的字符串,最长为50个字节。not null 不允许为空(不允许为空).primary key (stu_id)主键约束
create table tb_student (
stu_id int not null comment '学号',
stu_name varchar(50) not null comment '姓名',
stu_sex char(1) default '男' comment '性别',
stu_birth date comment '出生日期',
primary key (stu_id)
) engine=innodb comment '学生表';
–查看表结构
desc tb_student;
–查看表结构
drop table if exists tb_student;
–修改表添加列
alter table tb_student add column stu_addr varchar(500) default ''comment '家庭住址';
alter table tb_student add column stu_tel varchar(11) not null default ''comment '联系方式';
–修改表删除列
alter table tb_student drop column stu_tel;
–修改表名
alter table tb_student rename to tb_test;
–修改表修改列
alter table tb_student modify column stu_sex bool default 1 comment '性别';
alter table tb_student change column stu_sex stu_gender bool default 1 comment '性别';
–修改表添加约束
alter table tb_teacher add constraint ck_teacher_sex check (tea_sex in ('男', '女'));
–修改表删除约束
alter table tb_teacher drop constraint ck_teacher_sex;
–唯一约束
unique(col_tel)
3.数据类型
–获取数据类型帮助
? data types;
? int;
? varchar;
等…
–数值型
整数:
–int / integer —> 32bit —> 4byte —> -2^31 ~ 2^31-1
int(4) unsigned zerofill —> 无符号整数 —> 0 ~ 2^32-1
注意:zerofill是0填充,上方表示整数如果不够4位,就在前面添加0,eg:0001
–bigint —> 64bit —> 8byte —> -2^64 ~ 2^63-1
bigint unsigned —> 0 ~ 2^64-1
–smallint —> 16bit —> 2byte
–tinyint —> 8bit —> 1byte —> -128 ~ 127
小数:
–float/double —>不推荐使用
–decimal(M,N)—> decimal(10,0)(此处为默认值)—> 推荐使用
–字符串
定长:char —>0 ~ 255字节
变长:varchar —> 65535字节
超长内容:clob —> character large object(字符大对象) —> longtext —>不推荐使用
——通过列来保存数据的URL链接即可
–日期和时间
日期:data / year
时间:time
日期加时间:datatime —>推荐使用
时间戳:timestamp —>调整时区 —> 底层是一个int类型 —> 会有溢出的风险(overflow)