您的位置:首页 > 数据库 > MySQL

MySQL数据库使用与编程优化

2016-08-02 15:17 267 查看
概述:

1.使用MySQL不需要申请表空间,但需要一个schema。

2.schema有时候也可以叫做database,库,数据库。是MySQL中组织和管理表的一个结构,相当于一个文件夹。

3.MySQL数据库安装后默认包含4个schema,test是用户可以操作的schema,其余三个是系统使用,用户不能操作。

基本操作:

1.创建数据库:create database 数据库表名;

create table 表名(字段1,...字段n,[表级约束]) [Type=表类型];

格式为:字段名  字段类型  [字段约束]

表类型:可以写engine=Innodb|MyISAM等。有默认值,没有特殊要求不需要写。

2.查看数据库:show databases;

3.选择数据库:use 数据库名;

4.删除数据库:drop database 数据库名;

5.查看表结构:desc tablename;

6.复制表:create table 新表名 like 源表名;

7.删除表:drop table 表名1[,表名2,...]

8.修改表:alter table 表名  更改动作1[,更改动作2,...]

(1)增加表中字段

alter table student add addr(25);

(2)更改表字段名和字段类型

alter table student changes add text

(3)删除字段

alter table student drop addr

(4)更改名称 

alter table student rename to stu;

9.使用limit n, m分页。

10.事务控制

(1)开始事务:start transaction | begin

(2)提交事务:commit

(3)回滚事务:rollback

(4)设置事务提交方式:set autocommit =0 |1 ;

默认是自动提交(1).

表类型(存储引擎):



1.MySQL支持多种存储引擎,其中InnoDB和BDB提供事务安全表。

2.InnoDB是MySQL默认的存储引擎,支持事务,行锁设计,支持外键,独立的ibd文件存储表结构和数据,支持全文索引。对于InnoDB数据表,内部的行存储格式没有区分固定长度和可变长度列,因此在本质上,使用固定长度的char列不一定比使用可变长度varchar列简单。因而,主要的性因素是数据行使用存储总量。则于char平均占用的空间多于varchar,因此使用varchar来最小化需要处理的存储总量和磁盘IO是比较好的。

3.MyISAM存储引擎,不支持事务,表锁设计,不支持外键,支持全文索引,使用数据压缩和索引优化。对于MyISAM数据表,最好使用固定长度的数据列代替可变长度的数据列。

MySQL和Oracle数据类型对比:













SQL语句优化:

1.常数表优先,字典表或小表其次,大表最后。

2.常数表是指空表或只有1行的表。

3.字典表有小数量的行。

4.使用like时,%不要放在首字符位置。

5.InnoDB表避免使用count(*)操作,计数统计实时要求罗强可以使用memcache或者redis,非实时统计时可以使用单独统计表,定时更新。

Oracle和MySQL的一些差异:

1.MySQL有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值。Oracle没有自动增长的数据类型。

2.MySQL里可以用单引号、比引号包起字符串,Oracle里只可以用单引号包起字符串。

3.MySQL的非空字段也有空的内容,Oracle里定义了非空字段就不容许有空的内容。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: