mysql笔记

sql是结构化查询语言,mysql是关系型数据库,数据库(Database)是按照数据结构来组织、储存和管理数据的建立在计算机存储设备上的仓库。


mysql 数据库的结构

一个数据库通常包含一个或多个表。每个表由一个名字标识(表名),表是相关的数据项的集合,它由列和行组成。

  • 字段

每个表都可以分解为更小的项。这些项被称为“字段”。字段是表里的一列,用于保持每条记录的特定信息。

  • 记录

记录,也被称为一行数据,是表里的各行。在关系型数据库的表里,一行数据是指一条完整的记录。

  • 主键

主键用于区分表里的每一条数据,它通常是在表创建过程中初始化的。主键的特性确保了每一条记录都是唯一的。

  • 索引

为了提高访问数据库的效率,可以对数据库使用索引。索引实际上是一种特殊类型的表,其中含有关键字段的值(由用户定义)和指向实际记录位置的指针,这些值和指针按照特定的顺序(也由用户定义)存储,从而可以以较快的速度查找到所需要的数据记录。

  • NULL值

 NULL 是表示“没有值”的专用术语。值为NULL的字段在表创建过程中会保持为空。

mysql 数据库基本操作

  • 库,表的创建和删除

创建表

create databases DatabaseName;

mysql笔记_第1张图片
create table 表名(
    列名  类型  是否可以为空,
    列名  类型  是否可以为空
)ENGINE=InnoDB DEFAULT CHARSET=utf8

create table test ( id integer auto_increment, name varchar(5), sex varchar(4), age integer(3), primary key (id) );

mysql笔记_第2张图片

删除表

drop table TableName;

删除库

drop database DatabaseName;

mysql笔记_第3张图片
  • 数据增删改查

查询 select
select <字段名> from <表或视图> where <条件>;

mysql笔记_第4张图片

插入 insert into

insert into <表名> (列1,列2...) value(值1,值2...) ;

insert into tb (name,age) value ('test',8);

mysql笔记_第5张图片

更新 upadte

update <表名> set <列名> = <新值> where <列名> = <值>;
update tb set sex = '男' where id = 13;

mysql笔记_第6张图片

删除 delete

delete from <表名> where <条件>;
delete from tb where id = 13;

mysql笔记_第7张图片

表添加列

alter table <表名> add <列名> <类型> ;
alter table tb add city varchar(5);
alter table tb add test varchar(255) default 'test' after sex;

mysql笔记_第8张图片

表删除列

alter table <表名> drop column <列名>;
alter table tb drop column city;

mysql笔记_第9张图片
  • 数据库备份恢复

备份

mysqldump -u UserName -p DBName>Name.sql,输入密码即可.

mysqldump -u sand -p myTEST>/tmp/test.sql

恢复
mysql -u sand -p 进入mysql,建立要还原的数据库。

source /tmp/test.sql

或者用系统命令

mysql -u sand -p test2 < /tmp/test.sql

  • 事务
    特性:

    原子性(A): 事务是最小单位,不可再分
    一致性(C): 事务要求所有的DML语句操作的时候,必须保证同时成 功或者同时失败
    隔离性(I): 事务A和事务B之间具有隔离性
    持久性(D): 是事务的保证,事务终结的标志(内存的数据持久到硬盘文件中)

开始事务: start transaction
提交事务: commit
回滚事务: rollback

事务开启的标志:任何一条DML语句(insert、update、delete)执行
事务结束的标志:

  • 提交:成功的结束,将所有的DML语句操作历史记录和底层硬盘数据来一次同步,
  • 回滚:失败的结束,将所有的DML语句操作历史记录全部清空

你可能感兴趣的:(mysql笔记)