mysql学习小结

在面试过程中经常会被问到存储过程,存储引擎以及事务,这些暂未整理

CREATE TABLE mytable(   ID INT NOT NULL,    username VARCHAR(16) NOT NULL  );   我们随机向里面插入了10000条记录,其中有一条:5555, admin。

在查找username="admin"的记录 SELECT * FROM mytable WHERE username='admin';时,如果在username上已经建立了索引,MySQL无须任何扫描,即准确可找到该记录。相反,MySQL会扫描所有记录,即要查询10000条记录。


创建索引:CREATE INDEX indexName ON tbname(字段名(length))
删除索引:DROP INDEX [indexName] ON tbname; 
多列索引:ALTER TABLE tbname ADD INDEX indexName (filed1,filed2...);
最左前缀:最左优先,根据业务将使用对频繁的列名称放在最左边,针对的是多列索引。


唯一索引:CREATE UNIQUE INDEX UNIQUE_Index ON tbname(`表字段(唯一)`);
条件查询:
Where:条件查询
Having:可以对进行过条件(分组过的)查询的结果再次过滤
Group by 对查询结果进行分组
Order by 排序,desc/asc
Limit offset,row_count:offset偏移量,可以省略,row_coun记录数
Distinct:去除重复记录,查询记录中有重复字段只显示一个,位置在查询字段前面select关键字后。
联合查询:
(查询1)union(查询2)
(查询1)union all(查询2)//会去除重复记录
子查询:
举例:(查询1)where days=(查询2)
连接:
交叉连接:from 表1 [cross] join 表2;
内连接:from 表1 【inner】join 表2 on 连接条件;
左外连接:from 表1 left [outer] join 表2 on 连接条件;
右外链接:from 表1 right [outer] join 表2 on 连接条件;
Select fileds from one inner/right/left join two on one.filed=two.filed using (public_field);//去除重复的公共字段
select * from one natural left join two;//mysql会自己对相同字段连接

聚合函数

Sum()
Avg()
Max()
Min()
Count()
Md5():加密函数
Default 一种约束,为字段设置默认值,比如表中有score int default 100;
备份会还原数据库:
备份数据库[表]mysqldump -uroot -p 数据库名称 [表]> e:/php_one.sql
还原数据库 mysql -u root -p [dbname] < back.sql //一般是备份到dbname数据库,dbname已经存在
获取自增id:
Select LAST_INSERT_ID();
SHOW TABLE STATUS;
Mysql自己本身就有一个数据库查表information_schema.tables
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值