操作文件夹
create database db2 default charset utf8;创建,并指定编码格式
show databases;查看
drop database db2;删除
(注:没有修改一说,只能删除再来)
操作文件
show tables;查看表单
create table t1(id int,name char(10)) default charset=utf8; 创建表单
create table t2(id int,name char(10)) engine=innodb default charset=utf8;
create table t2(id int auto_increment primary key,name char(10)) engine=innodb default charset=utf8;
create table t1(
列名 类型 NULL,//可以为空
列名 类型 not NULL,//不可以为空
列名 类型 NULL default 1,//可以为空,默认值为1
列名 类型 not NULL auto_increment primary key,//可以为空.自增(需和主键一起搭配)
auto_increment 自增
primary key 表示约束(不能重复不能为空;加速查找,保证数据唯一性)
只能有一个自增列和一个主键
一张表只能有一个主键,但一个主键可以是多个列,只要保证唯一就可
primary kry (nid,pid)
数据类型:
int
char
数字:
tinyint
int
bigint
float
double
decimal(小数推荐用此存储,用字符串存储小数)
num decimal (10,5) //(总位数,小数点后最多几位)
字符串:
char(10)
root会存储为root******,即会补全至最多位数
varchar(10)
root会存储为root,不会补全,是什么存什么,节省空间,但速度比char慢(因为char长度固定,可以跳着找)
PS:创建数据表,把定长往前放,可以加速查找
text
上传文件:
文件存硬盘,数据库存路径
不要把图片存进数据库,只存文件所存路径
时间类型:
DATETIME
枚举类型
enum和set 只能选择枚举中所列的数据
id int,
name char(10)
) engine=innodb default charset=utf8;
innodb 支持事务,原子性操作,出现问题则回滚至之前状态
myisam 不支持事务,支持全局索引,速度更快
清空表
delete from t1;
truncate table t1;
删除表
drop table t1;
操作文件内容
插入数据——增
insert into t1(id,name) values(1,'dqd');往表单中插入数据
删除数据——删
delete from t1 where id<6;
注意delete和truncate有所不同
例如 利用delete删除表内所有数据后,再次加入数据,自增列将继续删除之前的数值递增,而truncate则置为1
delete from tb1;
truncate table tb1;
修改——改
update t1 set age=18 where age=17;
查看数据——查
select * from t1;查看表单数据
外键:
假设有这样一个部门,第一张表为人员信息表,第二张表为id与对应的分工表,即可在department部分用另一张表的id代表各个分工,可以节约大量空间,此处的department即为外键(ForeignKey)
id | name | age | department |
---|
1 | a | 21 | 1 |
2 | b | 22 | 1 |
3 | c | 22 | 2 |
4 | d | 31 | 3 |
5 | e | 24 | 4 |
6 | f | 21 | 2 |
ForeignKey 一对多 必须先创建基表才能继续创建外键关联
foreignkey的取名不能重复
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,
department char(15)
)engine=innodb default charset=utf8;