mysql 命令
---恢复内容开始---
show databases; 查看所有数据库
use 数据库名称; 进入(切换)数据库,进入到某个数据库后没办法再退回之前状态,但可以通过use进行切换
show tables; 查看这个数据库下的表
create database 数据库名 default charset=utf8; 创建数据库并用utf编码
drop database 数据库名; 删除数据库
create tables 表名(id int,name char(10))engine=innodb default charset=utf8; 创建t1表,引擎用innodb,编码默认为utf8
清空表:
delete from t1
truncate table t1;
删除表:
drop table t1;
增加:
insert into 表名(id,name) values(1,'egon'); 在t1表中插入数据
删除:
delete from t1 where id<6; 删除id小于6的数据行
修改:
update t1 set age=18; 设置t1表中的age字段(列)等于18
update t1 set age =18 where age=17; 把t1表中age等于17的改为18
查询:
select * from 表名; 查询表中的所有字段
select name,id from 表名; 查询表中的name和id字段
innodb 支持事务,原子性操作
null 可以为空
not null 不可以为空
auto_increment 自增
primary key 表示约束,不能重复且为空,加速查找
数据类型
数字
tinyint
int
bigint
float
double
decimal 精度高
字符串
char(10) 速度快 定长
varchar(10) 节省空间 可变长
ps:创建数据表定长列往前放
text:
上传文件:
文件存硬盘
db存路径
时间类型:
datetime
enum 枚举
CREATE TABLE shirts ( name VARCHAR(40), size ENUM('x-small', 'small', 'medium', 'large', 'x-large')#枚举就是从五个中选一个 ); INSERT INTO shirts (name, size) VALUES ('dress shirt','large');
set
CREATE TABLE myset (col SET('a', 'b', 'c', 'd'));
INSERT INTO myset (col) VALUES ('a,d'), ('d,a'), ('a,d,a'), ('a,d,d'), ('d,a,d');
外键:
节省空间
约束
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,
title char(15),
)engine=innodb default charset=utf8;
---恢复内容结束---