MySQL语法回顾
【】内容为可选
数据库操作
- 创建数据库
create database [if not exists] <数据库名称> character set <字符集名称>;
注:MySQL不允许在同一个系统创建两个相同名称的数据库,[]中内容可避免此错误。
- 查看或显示数据库
show database [like '数据库名称'];
- 修改数据库
alter database [数据库名称] 【character set <字符集名>】
- 删除数据库
drop database [if exists] <数据库名称>
注:
- 删除数据库中的所有表格并同时删除数据库。使用此语句时要非常小心,以免错误删除。如果要使用 DROP DATABASE,需要获得数据库 DROP 权限。
- MySQL 安装后,系统会自动创建名为 information_schema 和 mysql 的两个系统数据库,系统数据库存放一些和数据库相关的信息,如果删除了这两个数据库,MySQL 将不能正常工作。
- 选择数据库
use <数据库>
- 修改存储引擎
set default_storage_engine=<存储引擎名>
MySQL默认存储引擎:innodb
数据库表操作
- 创建数据库表
create table <表名>
- 修改数据表
alter table <表名>
alter table <表名> ADD <新字段名><数据类型> [约束条件]
- 删除数据表
drop table <表名>,<表名2>,...
数据库数据操作
- 插入数据
insert into <表名>(列名,...) values (值1,值2,...)
insert into <表名> set <列名1=值1>,<列名2=值2,<......>
- 修改数据
UPDATE <表名> SET 字段 1=值 1,.... [WHERE 子句 ][ORDER BY 子句] [LIMIT 子句]
语法说明如下:
<表名>:用于指定要更新的表名称。
SET 子句:用于指定表中要修改的列名及其列值。其中,每个指定的列值可以是表达式,也可以是该列对应的默认值。如果指定的是默认值,可用关键字 DEFAULT 表示列值。
WHERE 子句:可选项。用于限定表中要修改的行。若不指定,则修改表中所有的行。
ORDER BY 子句:可选项。用于限定表中的行被修改的次序。
LIMIT 子句:可选项。用于限定被修改的行数。
- 删除数据
delete from <表名> 【where 子句】【limit子句】
注意:在不使用 WHERE 条件的时候,将删除所有数据。
Oracle语法回顾
严格区别大小写,默认大写。
- 建数据库
create database 数据库名称
- 删除数据库
drop database 数据库名称
数据库表操作
- 创建表
create table 表名(col1 type1[not null] [primary key],col2 type2[not null],...)
- 删除表
drop table 表名称
- 重命名表
alter table 表名 rename to 新表名
- 修改字段
alter table 表名 modify(字段名 字段类型 默认值 是否为空)
- 增加字段
alter table 表名 add(字段名 字段类型 默认值 是否为空)
- 查看路径
select tablespace_name,file_name from dba_data_files
- 创建数据库实例
(1)创建表空间
create tablespace xx // name
datafile "/data/oracle/xx.dbf"//表空间路径
size 500m // 空间大小
autoextend off; //停止(on 启动)自动扩展表空间
(2)创建用户
create user yyname //创建用户名
identified by yypassword //创建密码
default tablespace xx //默认表空间
temporary tablespace temp //临时表空间(默认的)
profile default //默认权限(下面给分配)
quota unlimited on xy; //该用户在ydrsgl表空间里的配额不限
(3)分配管理员权限
grant dba to yyname;
(4)开放所有的表空间对此用户
grant unlimited tablespace to yyname ;
- 查询所有用户
select username from all_users
- 查看实例名称
select instance_name from v$instance
- 查看数据库名称
select name from v$database
- 分页查询
(1)select * from "表名" where rownum between 1 and 任意数字;
(2)select * from
(select "表名.*" ,rownum rn from "表名" where rownum <= 最大条数) t
where t.rn >= 最小条
(3)
当前用户下 表的所有字段,wm_concat函数行转列,即用逗号隔开,为一条数据。
select wm_concat(column_name) from user_tab_cols where table_name =“表名”
(4) 用(3)的结果放到 *处,可以当作要显示的列。
select (3) from (select "表名.*" ,rownum rn from "表名" where rownum <= 最大条数) t where t.rn >= 最小条
- 删除一条数据(多条相同数据,一次只删一条)
delete from 表名 where “条件” and **rownum = 1**;
hive 语法
- 创建数据库
create database name
- 显示查看的操作命令
show tables; //显示表
show databases; //显示数据库
show partitions table_name; //显示表名为 table_name的表的所有分区
show functions; //显示函数
describe extended table_name col_name; //查看表中字段
DDL 数据库定义语言
- 创建表结构
create [external] table [if not exisits] table_name
- 创建简单表
create table person(name STRING,age INT)
一些项目经历,也算复习、积累知识,后续可能会有补充