MySQL知识回顾_mysql基础知识回顾

​常见的sql语句:

创建数据库:create database if not exists mysql_study character set utf8 collate utf8_general_ci;

查询数据库:show databases like "%mysql%";

查询创建数据库:show create database mysql_study;

删除数据库:drop database if exists mysql_study;

创建表:

CREATE TABLE `lj` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`name` varchar(22) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

//character set 和 charset都是可以的

删除表:drop table tbl_name;

修改表名:rename table old_name to new_name,old_name1 to new_name1;

添加主键:Altertabletabnameaddprimarykey(col)

删除主键:Altertabletabnamedropprimarykey(col)

选择:select*fromtable1where范围

插入:insertintotable1(field1,field2)values(value1,value2)

删除:deletefromtable1where范围

更新:updatetable1setfield1=value1where范围

查找:select*fromtable1wherefield1like’%value1%’

修改列:alter table tbl_name [add|drop|change|modify];

alter table tbl_name add name varchar(22);

alter table tbl_name drop name;

alter table tbl_name modify name int(11);

alter table tbl_name change name mingzi int(11);

alter table tbl_name character set utf8;

添加外键:

0818b9ca8b590ca3270a3433284dd417.png

Alter tabletbl_name drop foreign key 外键标识;默认会生成,也可以指定

select语句:Select select_expr [from tbl_name] [where] [group by] [having] [order by] [limit]

select 子句有顺序,因此要求严格按照上面的顺序使用!

having:可以知道,where负责先获得结果,而如果需要在结果中再次处理(例如通过结果统计出来的聚合结果),则不能再使用where,

此时where已经执行完毕,因此此时SQL提供给应该使用having再次执行过滤操作。

limit:Limit offset,row_count,表示从offset索引位置开始获取row_count条记录。可以省略offset,默认为0.

删除表数据:delete,truncate

区别:

1,truncate 是删除表再创建,delete 是逐条删除

2,truncate 重置auto_increment的值。而delete不会

3,truncate不知道删除了几条,而delete知道。

Character_set_client客户端发送数据编码

Character_set_results客户端接收数据的编码

Set character_set_connection = gbk;连接层编码

Set names可以设置上面的三个。

每一套,编码字符集都有与之相关的校对规则。

什么是校对规则?在当前编码下,字符之间的比较顺序什么。

Show collation;

Show character set;

show variables like'character_set_%';

知识点详解:

导出

1. 导出一张表

Mysqldump -u用户名 -p密码 库名 表名 > 文件名(D:/a.sql)

2. 导出多张表

Mysqldump -u用户名 -p密码 库名 表名1 表名2 表名3 > 文件名(D:/a.sql)

3. 导出所有表

Mysqldump -u用户名 -p密码 库名 > 文件名(D:/a.sql)

4. 导出一个库

Mysqldump -u用户名 -p密码 -B 库名 > 文件名(D:/a.sql)

可以-w携带备份条件

导入:

1. 在登录mysql的情况下:

Source  备份文件

2. 在不登录的情况下

Mysql -u用户名 -p密码 库名 < 备份文件

mysql数据类型:三大类型: 数值,时间日期,字符串

0818b9ca8b590ca3270a3433284dd417.png

存储引擎:也叫表类型,指的是数据表的存储机制,索引方案等配套相关功能。不同的引擎,由于处理方式不同,会带来不同的功能或者相应优化,根据实际需求选择合理的引擎。

最常用的存储引擎:

MyISAM,InnoDB

区别:

MyISAM支持外键,而MyISAM不支持外键

MyISAM支持索引压缩,而Innodb索引和数据是绑定保存不压缩,体积大。

MyISAM是非事务安全型的,而InnoDB是事务安全型的。

InnoDB不支持FULLTEXT类型的索引(新版本的InnoDB也支持)

MyISAM锁的粒度是表级,而InnoDB支持行级锁定。

MyISAM相对简单,所以在效率上要优于InnoDB,小型应用可以考虑使用MyISAM。

InnoDB表比MyISAM表更安全

保存的文件的方式不同:

myisam,一个表,三个文件

Tbl_name.frm结构

Tbl_name.myd数据

Tbl_name.myi索引

innodb:

一个表一个文件:

Tbl_name.frm结构

所有的innodb表,都使用相同的

innodb存储表空间在保存数据和索引

0818b9ca8b590ca3270a3433284dd417.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值