- 持久化操作:保存到数据库
- 主键:用户表里的id,唯一标识
- 外键:另一个表里引用的用户id,外键
下载mysql 配置环境 更改密码:a12345678
Navicat Premium for Mac的破解教程 注意时间戳是今天的时间-2019-02-20 12:00:00
命令行操作(一般来说关键字都用大写):
alias mysql=/usr/local/mysql/bin/mysql
alias mysqladmin=/usr/local/mysql/bin/mysqladmin
启动mysql
mysql
// 更换密码:
mysqladmin -u root -p password
登录:
mysql -u root -p
数据库操作
;是结束符
-
1.创建数据库
create database mysql_0219;
-
2.查看所有数据库
show databases;
-
3.使用数据库
use mysql_0219;
-
4.删除数据库
drop database mysql_0219;
-
5.查看数据库状态
status (注意编码:utf-8)
表的创建与管理:
-
1.创建表
create table t_user1(id int,name varchar(20),age int,birthday date);
-
2.修改表
alter table t_user1 rename t_user2;
-
3.查看具体表
desc t_user2;
-
4.查看所有表
show tables;
-
5.删除
drop table t_user2;
-
6.表中添加字段
alter table 表名称 add 字段名称 字段类型
alter table t_user1 add sex varchar(3);
- 7.修改表中的字段
alter table t_user1 change name user_name varchar(3);
// 更改表的类型名称 布尔为 tinyint(1)
alter table t_user1 modify user_name varchar(2);
- 8.删除表重的字段
alter table t_user1 drop birthday;
表数据更新:
-
1.数据插入
insert into t_user1(id,user_name,age,sex) values('1','ad','22','男');
-
2.查看数据
select * from t_user1;
-
3.数据更新
单条
update t_user1 set user_name='admin' where id=1;
多条
update t_user1 set age=33,sex='女' where id=1;
- 4.删除数据
delete from t_user1 where id =2;
delete from t_user1;(清空表)
约束条件
非空约束 唯一约束 主键约束 主外键约束
图形化连接:
使用 Navicat for MySQL 输入密码:a123456789 新建查询创建
非空约束:
CREATE TABLE t_user2(
id int,
name VARCHAR(2) not null
);
show TABLES;
INSERT INTO t_user2(id,name) VALUES(1,23);
-- INSERT INTO t_user2(id,name) VALUES(1,null);
SELECT * FROM t_user2;
唯一约束:
CREATE TABLE t_user3(
id int,
name VARCHAR(30) not null,
email VARCHAR(20) UNIQUE -- 唯一约束,邮箱不允许重复
);
INSERT INTO t_user3(id,name,email) VALUES(1,23,'110@email.com');
INSERT INTO t_user3(id,name,email) VALUES(2,333,'111@email.com');
SELECT * FROM t_user3;
主键约束:
DROP TABLE t_user3;
CREATE TABLE t_user3(
id INT PRIMARY KEY AUTO_INCREMENT, -- 主键唯一不能为null,自增
name VARCHAR(30) not null,
email VARCHAR(20) UNIQUE -- 唯一约束,邮箱不允许重复
);
INSERT INTO t_user3(name,email) VALUES(23,'110@email.com');
INSERT INTO t_user3(name,email) VALUES(2223,'112220@email.com');
主外键约束:
一般不会建,不能单独删除这个约束表。
CREATE TABLE t_user(
id INT PRIMARY KEY AUTO_INCREMENT, -- 主键不能为 null,且不能重复,自增
name VARCHAR(30) not null
);
CREATE TABLE t_order(
id INT PRIMARY KEY AUTO_INCREMENT, -- 主键不能为 null,且不能重复,自增
order_name VARCHAR(30),
user_id int,
CONSTRAINT user_id_fk FOREIGN key (user_id) REFERENCES t_user(id) -- 添加外键
);
INSERT INTO t_user(name) VALUES('amdin');
SELECT * FROM t_user;
INSERT INTO t_order(order_name,user_id) VALUES('订单1',1);
INSERT INTO t_order(order_name,user_id) VALUES('订单2',2);// 报错
SELECT * FROM t_order;
Mysql的备份与恢复
备份
导出数据库:
mysqldump -u root -p mysql_0219>/Users/jingbin/Documents/LearningFile/S-Mybatis/mysql_0219.sql;
1.打开终端,
2.执行: cd 要导出到的目录 (如:cd /Users/jingbin/Documents/LearningFile/mysql)
3.执行:
alias mysqldump=/usr/local/mysql/bin/mysqldump
mysqldump -u root -p 要导出的数据库名>名字随意.sql
(如:mysqldump -u root -p mysql_0219>mysql_0219.sql;) 输入数据密码
此时,会在/Users/jingbin/Documents/LearningFile/mysql中发现已经导出的.sql文件:mysql_0219.sql。
导出数据库里对应的表:
mysqldump -u root -p mysql_0219 t_user>mysql_0219_user.sql;
恢复
create database mysql_back;
use mysql_back;
show tables;
source /Users/jingbin/Documents/LearningFile/mysql/mysql_0219_user.sql
show tables;
select * from t_user;
网友评论