概述:
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里定义了非空字段就不容许有空的内容。
最后欢迎大家访问我的个人网站:1024s