Mysql是一个轻量型数据库,开源免费。Oracle是收费的而且价格非常高。
Mysql一个实例可以操作多个库,而Oracle一个实例只能对应一个库。
Mysql安装完后300M而Oracle有3G左右。
主键:Mysql一般使用自动增长类型,而Oracle则需要使用序列对象。
单引号的处理:mysql里可以用双引号包起字符串,oracle里只可以用单引号包起字符串。
分页的sql语句:mysql用limit,而oracle使用内建视图和rownum伪列。
事务处理:mysql默认是自动提交,而oracle默认不自动提交,需要用户CTL语言进行事务提交。
oracle装好后会有一个oracle实例还有一个库,库当中有数据文件,这数据文件在oracle中称为表空间。
所以在Oracle装好以后,我们首先要去创建一个永久表空间,再去创建用户。随后把这个永久表空间分配给这个用户。
接着再去创建一个用户,再给他分配一个表空间。通过表空间来实现物理隔离。
所以说在oracle中库有一个就够了,然后我们再给他创建表空间。
mysql是一个实例可以对应多个库,mysql当中呢没有表空间这个概念,所以说我们可以去创建不同的库,然后用户直接去操作不同的库。每个库中放着不同的数据文件。
create database 数据库名 default character set字符编码;
创建一个test的数据库,并查看该数据库,以及该数据库的编码。
create database test default character set utf-8;
创建数据库:
create database 库名;
查看数据库
show databases;
查看数据库编码:
select schema_name ,default_character_set_name from information_schema.schemata where schema_name=‘test‘;
drop database 数据库名;
1.2.1.1示例
drop database test;
需要在哪个库中创建表需要先选择该数据库。
use 需要选择的库名;
创建一个名称为test的数据库,编码为utf-8;
create database test default character set utf8;
选择该数据库;
use test;
Mysql支持所有准备sql数值数据类型。
作为sql标准的扩展,Mysql也支持整数类型tinyint、mediumint和bigint。
Mysql数据类型 含义
tinyint(m) 一个字符 范围(-128- 127)
smallint(m) 2个字节 范围(-32768- 32767)
mediumint(m) 3个字节 范围(-8388608- 8388687)
int(m) 4个字节 范围(-2147483648- 2147483647)
bigint(m) 8个字节 范围(+-9.22*10的18次方)
数值类型中的长度m是指显示长度,并不显示存储长度,只有字段指定指定zerofill时有用
例如: int(3),如果实际值是2,如果列指定了zerofill,查询结果就是002,左边用0来填充。
float(m,d) 单精度浮点型 8位精度(4个字节) m总个数,d小数位
double(m,d) 双精度浮点型 16位精度(8位) m总个数,d个小数位
、
char(n) 固定长度,最多255个字符
varchar(n) 可变长度,最多65535个字符
tinytext 可变长度,最多255个字符
text 可变长度,最多65535个字符
mediumtext 可变长度,最多2的24次方-1个字符
longtext 可变长度,最多2的32次方-1个字符
1.char(n)若存入字符数小于n,则以空格补于其后,查询之时再将空格去掉。所以char类型存储的字符串末尾不能有空格,varchar不限制于此。
2.char类型的字符串检索要比varchar类型快。
1.varchar可以指定n,text不能指定,内部存储varchar是存入的实际字符数+1个字节(n<=255),text是实际字符数+2个字节。
2.text类型不能有默认值。
3.varchar可直接创建索引,text创建索引要指定前多个字符。varchar查询速度快于text,在都创建索引的情况下,text的索引似乎不起作用。
mysql数据类型 含义
date 日期2008-12-2
time 时间‘12:25:36’
datetime 日期时间‘2008-12-2 22:06:44’
timestamp 自动存储记录修改时间
1.BLOB和TEXT存储方式不同,text以文本方式存储,英文存储区分大小写,而Blob是以二进制方式存储,不分大小写。
2.BLOB存储的数据只能整体读出。
3.text可以指定字符集,BLOB不同指定字符集。
4.1创建表
create table employees(employee_id int,last_name varchar(30),salary float(8,3))
4.2查看表
show tables;
4.3删除表
drop table employees;
alter table 旧表名 rename 新表名
将employees表名修改为emp。
alter table employees rename emp;
alter 表名 change column 旧列名 新列名 类型
将emp表中的last_name 修改为name
alter table employees change column last_name name varchar(30)
alter table 表名 modifity 列名 新类型
将emp当中的name长度指定为49;
alter table employees MODIFY name varchar(40);
alter table 表名 add column 新列名 类型
5.4.1示例
在emp表中添加一个新的lie为commission_pct
alter table employees add column commission_pct float(4,2)
5.5使用ddl来删除列
alter table 表名 drop column 列名
5.5.1示例
删除emp表中的commission_pct
alter table emp drop column commsission_pct;
查询表的约束信息
show keys from table;
原文:https://www.cnblogs.com/wq-9/p/11572350.html