一. 学习SQL语句规则以及外键
1. 操作文件夹
create database db2; 创建文件夹
create database db2 default charset utf8; 创建文件夹,且数据库是utf-8编码
show databases; 查看文件夹
drop database db2; 删除文件夹
2. 操作文件
use dn2; 进入文件夹
show tables; 查看所有文件
create table t1(id int,name char(10)); 创建一个有两列的表
create table t1(id int,name char(10)) default charset = utf8; 创建一个有两列的表,且内容为utf8编码
create table t1(
列名,类型 null, # 是否为空
列名,类型 not null default 1,
列名,类型 not null auto_increment, # 自增
id int,
name char(10)
) engine = innodb default charset = utf8;
比如:
create table t1(
id int not null auto_increment primary key, # 这两个一般要一起写
# auto_increment : 表示自增;一个表里面只能有一个自增列
# primary key :表示 约束(不能重复,且不能为空);加速查找
name char(10)
) engine = innodb default charset = utf8;
innodb 支持事务,原子性操作
myisam 不支持事务
delete from t1; # 把表里面的内容清空,且若再插入数据,自增id会继续之前的顺序,而不是从头开始自增
truncate table t1; # 把表里面的内容清空,且若再插入数据,自增id会从头开始自增
drop table t1; # 删除表
3. 操作文件中内容
insert into t1(id, name) values(1, 'egon'); 插入一条数据
delete from t1 where id < 6; 删除数据
update t1 set age =18; 把age列 全部改成18
update t1 set age =18 where age = 17; 把age等于17的,改成18
select * from t1; 查看
外键:
create table userinfo(
uid bigint auto_increment primary key,
name varchar(32),
department_id int,
constraint fk_user_depar foreign key ('department_id',) references department('id') # 外键约束
)engine = innodb default charset = utf8;
create table department(
id bigint auto_increment primary key,
titlt char(32)
)engine = innodb default charset = utf8;
二. MySQL数据表基本数据类型
数据类型:
数字:
tinyint
int
bigint
小数:
float(不太精准)
double(不太精准)
decimal(精准小数)
字符串:
char(10): (最大255字符)
如果没有10个,就会自动填充空格到10个,(root )
varchar(10): (最大255字符)
最多能写10个,不会填充(root),节省空间,但速度没有char快
创建数据表时,定长列往前放置,变长的往后放
text
上传文件:
文件存硬盘
db存路径
enum 枚举
set
时间类型:
datetime:YYYY-MM-DD HH:MM:SS
create table t1(
id int not null auto_increment primary key,
num decimal(10,5), # ()里面 第一个数是总位数,第二个数是小数点后面最多几位
name char(10)
) engine = innodb default charset = utf8;