mysql 杂记(一)

1. mysql数据库基本操作

  • 启动停止mysql服务器:net start\stop mysql
  • 连接mysql数据库:mysql -u root -h localhost -p password

2. mysql 存储引擎

  • 查询mysql支持的存储引擎:show engines;
    • innoDB存储引擎:倾向于事务处理的应用程序,频繁的更新、删除操作
    • MyISAM存储引擎:查询速度快,空间和内存使用效率低
    • MEMORY存储引擎:“内存”,存储速度快但安全性不高

3. mysql 基本操作

  • 创建数据库:create database db_admin;
  • 显示所有的数据库:show databases;
  • 显示数据库中所有的表:show tables;
  • 选择数据库:use db_admin;
  • 删除数据库:drop database db_admin;
  • 创建数据表:create table tb_new(id int primary key, name varchar(20));
  • 查询表结构:show columns from tb_new; / describe tb_new;
  • 修改表结构:alter table tb_new add email varchar(30), add adress varchar(50); // 可以是modify\drop\change
  • 重命名表:rename table tb_new to tb_fredric;
  • 插入记录:insert into tb_1(id,name) values(1,'fredric');
  • 查询记录:select * from tb_1 where id = 1;
  • 修改记录:update tb_1 set name = 'sinny' where id = 1;

4. mysql 数据查询

  • 查询指定字段:select name, emai from tb_1;
  • 查询指定数据:select * from tb_1 where name = 'sinny';
  • IN 关键字:select * from tb_1 where id IN(2,3);
  • BETWEEN AND 关键字:select * from tb_1 where id between 1 and 2;
  • 多条件查询:select * from tb_1 where id = 1 and/or name = 'sinny';
  • LIMIT限制:select * from tb_1 limit 2;
  • 函数:select sum(id) from tb_1; 返回结果为sum(id),即id的和
  • 内连接查询:select name,book from tb_1,tb_2 where tb_1.id = tb_2.id;
  • 左/右连接查询:select name,book from tb_1 left/right join tb_2 on tb_1.id = tb_2.id; //left/right分别表示以tb_1还是tb_2为主,空余字段填充null;
  • 带IN子查询:select * from tb_1 where id in(select id from tb_2); //子查询select的列需要对应
  • 带比较运算符的子查询:select * from tb_1 where id >(select id from tb_2); //ANY/ALL 关键字表示满足子查询的一个还是全部条件
  • 合并:select id from tb_1 union select id from tb_2; //union all的话不忽略重复项

5. mysql函数

  • 数学函数:ABS、CEIL、FLOOR等;
  • 字符串函数:LENGTH、CONTACT等;
  • 日期和时间函数:NOW、CURTIME等;
  • 条件判断函数:IF、CASE等
  • 系统信息函数:VERSION等

6. mysql 查询优化

  • 分析查询情况:explain select * from tb_1;
  • 创建索引:create index index_id on tb_1(id);
  • 删除索引:drop index index_id on tb_1;
  • 高速缓存:mysql中用户select查询语句后,操作结果将保存到缓存中;
  • 临时表:create temporary table tb_temp(id int primary key, name varchar(20));//临时表的生命周期在用户结束于数据库的会话时结束,操作与table一致;

7. mysql 索引

  • 普通索引:
  • 唯一索引:索引值唯一,主键是特殊的唯一索引
  • 全文索引:TBD
  • 单列索引:TBD
  • 多列索引:TBD
  • 空间索引:TBD

8. mysql 视图

  • 创建视图:create view tb_view(name,email) as select name,email from tb_1;
  • 查看视图:describe tb_view;
  • 修改视图:alter view tb_view(name) as select name from tb_1;
  • 查看视图数据:select * from tb_view;// tb_view类似于临时表,但视图只保存表的结构不存储数据
  • 更新视图:update tb_view set name = 'new fredric' where name = 'fredric';//原表中的数据也会被修改
  • 删除视图:drop view if exists tb_view;

 

 

 

 

 

posted @ 2013-04-15 22:28  Fredric_2013  阅读(397)  评论(0编辑  收藏  举报