MYSQL 学习笔记

MYSQL学习笔记

基础知识数据库的基础组成部分

  • 数据库:用于存储数据的地方。
  • 数据库管理系统:用于管理数据库的软件
  • 数据库应用程序:为了提高数据库系统的处理能力所使用的管理数据库的软件补充。

MySQL安装目录

/usr/bin            客户端和脚本
/usr/sbin           mysqld服务器
/var/lib/mysql      日志文件和数据库
/usr/share/info     信息格式的手册
/usr/share/man      UNIX帮助页
/usr/include/mysql  头文件
/usr/lib/mysql      库
/usr/share/mysgl    错误消息、字符集、示例配置文件等

登录MySQL

mysql -h hostname -u username -p

SQL语言

SQL语言的四个部分:

  • 数据定义语言(DDL):DROP、CREATE、ALTER等语句。
  • 数据操作语言(DML):INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。
  • 数据查询语言(DQL):SELECT语句。
  • 数据控制语言(DCL):GRANT、REVOKE、COMMIT、ROLLBACK等语句。

数据库操作

  • 查看数据库:SHOW DATABASES;
  • 创建数据库 CREATE DATABASES database_name;
  • 删除数据库 DROP DATABASE database_name;

数据表操作

  • 创建数据表:
CREATE TABLE <表名>
CREATE TABLE [IF NOT EXITS] <表名>
create [temporary] table [if not exists] tbl_name
( 
	字段名1 数据类型 [列级别约束条件] [默认值],    
	字段名2 数据类型 [列级别约束条件] [默认值], 
	......
	[表级别约束条件]
)

数据类型描述

约束

主键&联合主键

PRIMARY KEY 其一就是在定义列的时候在字段后定义主键 ,或者在定义完所有列之后指定主键。

字段名 数据类型 PARIMARY KEY 字段名;
CREATE TABLE <表名>
(
   字段1 数据类型1,
   字段2 数据类型2,
       .......    
   PRIMARY KEY(字段1)    PRIMARY KEY(字段1,字段2, ... ) 联合主键
);

外键(保证数据引用的完整性)

  • 主表(父表):对于两个具有关联关系的表而言,相关联字段中主键所在的那个表即是主表。
  • 从表(子表):对于两个具有关联关系的表而言,相关联字段中外键所在的那个表即是从表。
[CONSTRAINT <外键名>] FOREIGN KEY 字段名1 [,字段名2, ...]
REFERENCES <主表名> 主键列1 [,主键列2, ...]

非空约束

字段名 字段类型 NOT NULL;

自增

字段名 字段类型 AUTO_INCREMENT;

唯一约束

字段名 字段类型 UNIQUE;

默认约束

字段名 字段类型 DEFAULT <默认值>;

修改数据表表名

ALTER TABLE <旧表名> RENAME TO <新表名>;

修改字段的数据类型

ALTER TABLE <表名> MODIFY <字段名> <数据类型>;

修改字段名

ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新字段类型>;

添加字段

ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] [FIRST|AFTER <已存在的字段名>];

删除字段

ALTER TABLE <表名> DROP <字段名>;`

修改字段的排列位置

ALTER TABLE <表名> MODIFY <字段> <数据类型> FIRST|AFTER [字段2];

更改表的存储引擎

ALTER TABLE <表名> ENGINE = <更改后的存储引擎名>;

删除表的外键约束

ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>;

删除没有被关联的表

DROP TABLE [IF EXITS] 表1,表2,........ ;

删除被其他表关联的主表

需要先解除关联子表的外键约束,再删除该表。

ALTER TABLE <子表名> DROP FOREIGN KEY <外键约束名>;
DROP TABLE [IF EXITS] <主表名>;

MYSQL8数据库备份/恢复

备份所有数据库

mysqldump -u root -h host -p --all-databases > backdb.sql

备份多个数据库

mysqldump -u root -h host -p --databases dbname1, dbname2 > backdb.sql

备份指定的数据库

mysqldump -u root -h host -p dbname > backdb.sql

备份指定的数据库表

mysqldump -u root -h host -p dbname tbname1, tbname2 > backdb.sql

恢复数据库

mysql -u root -p dbname < dbname.sql
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值