1、数据类型
| 名称 | 包含内容或解释 |
|---|---|
| 整数 | int、bit |
| 小数 | decimal |
| 字符串 | varchar(可变长度)、char不可变长度 |
| 日期 | data、time、datatime |
| 枚举类型 | 从固定的几个选项中选择 |
| text | 存储大于4000时推荐使用 |
图片、视频、音频等文件一般可采用存取其连接的方式存入数据库(免费可以上传文件并生成连接的网站:七牛)
数值类型:

时间类型:

2、约束
| 名字 | 解释 |
|---|---|
| 主键(primary key) | 物理上的储存顺序 |
| 非空(not null) | 不允许为空 |
| 唯一(unique) | 不允许重复值 |
| 默认(default) | 不填写采用默认值 |
| 外键(foreign key) | 联系到关联表中,会到关联表中查询此值是否存在,不存在会抛出异常 |
外键关联方法:alter table 表1 add foreign key(表1里的字段) references 表2(表2里的字段);
3、操作命令行

3.1、数据库操作
# 连接数据库
# mysql -uroot -p12345
mysql -u -p
# 退出
exit/quit/ctrl+d
# 显示时间、版本
select new();
select version();
#创建、删除数据库
create database 数据库名;
create database 数据库名 charset=utf8;
drop database 数据库名;
# 如果删除带有-的数据库需要加引号,如下:
drop database 'python-01';
# 查看所有数据库
show databases;
# 查看当前数据库里的内容
# 1、先使用某个数据库
use 数据库名;
# 2、查看表里的内容
select database();
3.2、表操作
# 查看当前数据库中所有表
show tables;
# 创建表
create table 表名 (字段 类型 约束[,字段 类型 约束]);
# 例:
# create table student (id int , name varchar(20) )
# create table teachar (id int praimary key not null auto_increment, name varchar(20) )
# 注意int类型可正可负,约束为正可以直接在int后面加unsigned
# 例如create table student (id int unsigned, name varchar(20) )
# 创建枚举类型的表
create table enum(“男” ,“女”,“其他”) default “男” ;
# 向表里插入新数据
insert into 表名 value(值,值,值。。。)
# 查看当前表结构
desc 表名;
# 查看表里的内容(*代表所有)
select * from 表名;
# 修改表结构,字段类型后面可以加约束
alter table 表名 add 字段名 字段类型; # 增加字段
alter table 表名 modify 字段名 字段类型; # 改(字段类型、约束)
alter table 表名 change 原字段名 新字段名 字段类型; # 改(字段名、类型、约束)
# 删除表
drop table 表名;
3.3、数据的增删改查
id插入数值时0、null、default都能实现自增
# 增
insert into 表名 value(值,值。。);
insert into 表名 values(值,值。。),(值,值。。);
insert into 表名(字段名,字段名。。) value(值,值。。);
# 删
delete from 表名 where 字段=值;
# 逻辑删除
alter table 表名 add 字段 类型 ;
# 例:给stuident表里添加一个is_delete字段 bit 类型 约束为默认值=0
alter table stuident add is_delete bit default 0 ;
update stuident set is_delete=1 where id=1; # 逻辑删除id=1的数据
# 改
update 表名 set 字段=‘新值’ where id=值;
update 表名 set 字段=‘新值’ where 其他字段名=值;
# 查
select * from 表名; # 全查
select * from 表名 where 字段=值; # 查该值下的数据
select 字段,字段 from 表名;
select 字段 as 值,字段 as 值 from 表名;
2759

被折叠的 条评论
为什么被折叠?



