5. DML的语法
2018-04-19 本文已影响6人
光小月
MySQL与Oracle关于表的操作都差不多,这里使用比较法进行学习。
1. create table
mysql
语法:详细见
太长了,还是看例子吧,例子比语法更具有说服力。
CREATE TABLE IF NOT EXISTS employees (
`emp_no` INT UNSIGNED NOT NULL auto_increment,#自增
birth_date DATE NOT NULL,
first_name VARCHAR(14) NOT NULL,
last_name VARCHAR(16) NOT NULL,
gender ENUM ('M','F') NOT NULL,
hire_date DATE NOT NULL,
PRIMARY KEY (emp_no)
) ENGINE=InnoDB
DEFAULT CHARACTER SET = utf8;
oracle
CREATE TABLE employees
( employee_id NUMBER(6)
, first_name VARCHAR2(20)
, last_name VARCHAR2(25)
CONSTRAINT emp_last_name_nn NOT NULL
, email VARCHAR2(25)
CONSTRAINT emp_email_nn NOT NULL
, phone_number VARCHAR2(20)
, hire_date DATE
CONSTRAINT emp_hire_date_nn NOT NULL
, job_id VARCHAR2(10)
CONSTRAINT emp_job_nn NOT NULL
, salary NUMBER(8,2)
, commission_pct NUMBER(2,2)
, manager_id NUMBER(6)
, department_id NUMBER(4)
, CONSTRAINT emp_salary_min
CHECK (salary > 0)
, CONSTRAINT emp_email_uk
UNIQUE (email)
) ;
详细见:
下面是一些差别:
----oracle与mysql-----
-----------------------------------------
对字段操作 | 操作方法
----------------------------------------------------
更新字段名
oracle: alter table table_name rename column column_old to column_new;
mysql: alter table table_name change col_old col_new varchar(30)(类型)
添加字段
oracle: alter table table_name add column_name varchar(10);
mysql: alter table test add column name varchar(10);
alter table 表名 add 属性名1 数据类型 [完整性约束条件] [first | after 属性名2];
删除字段
oracle: alter table table_name drop column column_name;
mysql: alter table test drop column name;
添加字段并附值
oracle: alter table table_name add column_name number(1) default 1;
mysql: alter table test add column name varchar(10);
修改字段值
oracle: update table_name set filedname=value where filedname=value;
mysql: 同上
修改字段数据类型
oracle: alter table tablename modify filedname varchar2(20);
mysql: alter table test modify address char(10) ;
||alter table test change address address char(40) ;
修改表名:
oracle: alter table oldTableName rename to NewTableName;
mysql: alter table oldTableName rename [to] NewTableName;
欢迎关注,以后会不定时更新!