字段类型
text 用于大文本的保存
char(n) 用于保存小字符串
varchar(n) 用于保存小字符串
decimal(a,b) 保存数字类型 a表示长度,b表示小数的长度,eg 5位数据保留2位小数 decimal(5,2)
int 保存数字类型
bit 布尔类型
datetime 日期
约束
主键 primary key
非空 not null
唯一 unique
默认 default
外键 foreign key
逻辑删除
对于重要数据,并不希望物理删除,一旦删除,数据无法找回
一般对于重要数据,会设置一个isDelete的列,类型为bit,表示逻辑删除
大于大量增长的非重要数据,可以进行物理删除
数据的重要性,要根据实际开发决定
远程连接
mysql -hip地址 -uroot -p
-h后面写要连接的主机ip地址
-u后面写连接的用户名
-p回车后写密码
数据库操作
- 创建数据库
create database 数据库名 charset=utf8; - 删除数据库
drop database 数据库名; - 切换数据库
use 数据库名; 查看当前选择的数据库
show databases;
表操作查看当前数据库中所有表
show tables;创建表
auto_increment表示自动增长
create table 表名(列及类型);
如:
create table students(
id int auto_increment primary key,
sname varchar(10) not null
);修改表
alter table 表名 add|change|drop 列名 类型;
如:
alter table students add birthday datetime;
删除表
drop table 表名;
查看表结构
desc 表名;
更改表名称
rename table 原表名 to 新表名;
查看表的创建语句
show create table ‘表名’;数据操作
查询
select * from 表名
增加
全列插入:insert into 表名 values(…)
缺省插入:insert into 表名(列1,…) values(值1,…)
同时插入多条数据:insert into 表名 values(…),(…)…;
或insert into 表名(列1,…) values(值1,…),(值1,…)…;
主键列是自动增长,但是在全列插入时需要占位,通常使用0,插入成功后以实际数据为准
修改
update 表名 set 列1=值1,… where 条件
删除
delete from 表名 where 条件
逻辑删除,本质就是修改操作update
alter table students add isdelete bit default 0;
如果需要删除则
update students isdelete=1 where …;
备份与恢复数据备份
进入超级管理员
sudo -s
进入mysql库目录
cd /var/lib/mysql(Mac系统 cd /usr/local/mysql/data)
运行mysqldump命令
mysqldump –uroot –p 数据库名 > ~/Desktop/备份文件.sql;
按提示输入mysql的密码- 数据恢复
连接mysqk,创建数据库
退出连接,执行如下命令
mysql -uroot –p 数据库名 < ~/Desktop/备份文件.sql
根据提示输入mysql密码