mysql
mysql中不区分大小写
net start mysql 启动sever
net stop mysql 停止sever
mysql -u用户名 -p密码 -hip地址 启动client
select user(); 查看当前用户
set password = password(‘密码’); 给当前用户设置密码
exit 退出client
create 创建 一个库/表
drop 删除 一个库/表
alter 修改
库(文件夹)
创建
create database 库名 charset utf-8;
查看所有库名
show databases;
修改
alter database 库名 charset latin1;
删除
drop database 库名;
使用
use 库名;
表(文件)
切换到文件夹下
use 表名
创建
create table 表名 (字段 数据类型((宽度) 约束条件));
查看所有表名
show tables;
查看表结构
查看表的字段信息
desc 表名;
describe 表名;
查看整个表的设置,编码,引擎,自增字段的offset
show create table 表名\G;
删除
drop table 表名;
修改表结构
alter table 表名 add/drop/modifyange …
增加字段
alter table 表名 add 字段 数据类型;
alter table 表名 add 字段 数据类型 first;
alter table 表名 add 字段 数据类型 after 某字段;
删除字段
alter table 表名 drop 字段;
修改字段
alter table 表名 modify 字段 新数据类型;
alter table 表名 modify 字段 新数据类型 first;
alter table 表名 modify 字段 新数据类型 after 某字段;
alter table 表名 change 旧字段 新字段 新数据类型;
修改表名
alter table 表名 reaname 新表名;
表中内容(记录)
增
insert into 表名 values(字段1,‘内容1’),(字段2,‘内容2’)…;
查
select */字段名 from 表名;
改
update 表名 set 字段1=‘新内容1’ where 字段2=‘内容2’;
删
delate from 表名 where 字段=‘内容’;
基础数据类型
数字
整数(范围)
int(n) 最大为n位 默认为11位
bigint 能放更大数据
小数(精准度)
float(m,n) 共m位,其中小数n位,整数m-n位
double 比float更精准 最大(255,30)
decimal 超精准,默认为整数 最大(65,30)
字符串
char(n) 定长 浪费空间 存取速度快
varchar(n) 不定长 节省空间 存取速度慢
时间
date 年月日
datetime 年月日时分秒 可为空
timestamp 年月日时分秒 不能空 默认当前时间 update的时候更新时间字段 能表示的时间范围短
insert into 表 values (‘2018-12-18 12:00:00’);
insert into 表 values (‘2018/12/18 12+00+00’);
insert into 表 values (‘20181218120000’);
insert into 表 values (20181218120000);
集合 枚举
set 多选 自动去重 不在set中的不写入表
enum 单选 不在enum单选中的不写入表
约束
not null 非空
unique 唯一(不重复)
primary key 主键 = 非空 且 唯一
foreign key 外键约束
约束一 not null
default 设置默认值
约束二 unique 唯一,不能约束null(允许多个字段为null)
设置某一个字段的内容必须是唯一的
联合唯一
约束三 主键
primary key = not null + unique
每一张表最多有一个主键
不能设置多个主键 能设置多个非空+唯一
create table 表名(
字段名1 字段类型(宽度) not null default 默认值,
字段名2 字段类型(宽度) not null unique,
字段名3 字段类型(宽度) primary key,
字段名4 int(宽度) unique auto_increment
);
联合主键
添加主键
alter table 表名 modify 字段名 类型(宽度) primary key;
约束四 外键
本表中的字段关联另一表的’唯一’字段,本表中的字段是外键,外表中的字段必须唯一/主键
create table 表名(
字段名1 字段类型(宽度) not null,
字段名2 字段类型(宽度) not null,
外键名 字段类型(宽度),
foreign key (外键) references 外表(外表中的字段)
on delete cascade
on update cascade,
primary key(字段名1)
);