前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据库基础

数据库基础

作者头像
Jingbin
发布2019-04-01 15:08:32
6370
发布2019-04-01 15:08:32
举报
  • 持久化操作:保存到数据库
  • 主键:用户表里的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;

一、Mac os导出Mysql数据库

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;

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.03.30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据库操作
  • 表的创建与管理:
  • 表数据更新:
  • 约束条件
    • 非空约束:
      • 唯一约束:
        • 主键约束:
          • 主外键约束:
          • Mysql的备份与恢复
            • 备份
              • 恢复
              相关产品与服务
              云数据库 SQL Server
              腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档