Oracle、MySQL数据库常规命令语法-简易记录(非常规持续更新)

前言:呈现的是非常基础必备命令以及常规关联语法,因涉及到不同数据库其表达都会有所区别,此篇纯属做个仓库记录更非常规持续更新,专业人士可忽略,且看且珍惜…
Oracle、MySQL数据库常规命令语法-简易记录(非常规持续更新)_第1张图片
Oracle、MySQL数据库常规命令语法-简易记录(非常规持续更新)_第2张图片
Oracle、MySQL数据库常规命令语法-简易记录(非常规持续更新)_第3张图片

MySQL: 关系型数据库、重点开源、支持大型规模、标准SQL数据语言、多平台多架构、高可用集群、可定制开发等等、此测试环境为MySQL5.7社区版

登入MySQL

mysql -uroot -p

查看数据库版本

select @@version;select version(); 
select user(); --查看当前用户

查询数据库

show databases;

查看当前数据库

select database(); 

查询所有表

use test237 – 切入对应数据库
show tables;

查询单库的所有表

select table_name from information_schema.tables where table_type = 'base table' and table_schema = 'test237';

迁移表到指定数据库

# 复制表结构
CREATE TABLE target_database.table_name LIKE source_database.table_name; 
create table test237.db1_1 like db1.db1_1;
# 导入数据
INSERT INTO target_database.table_name SELECT * FROM source_database.table_name;
insert into test237.db1_1 select * from db1.db1_1;

#-----------#

创建数据库

create database test237 default character set utf8;

创建表

create table test1(ID char(10),NAME char(20) ,SEX char(4),AGE int(10));

创建用户

create user mysqluser identified by '123456';

授予用户权限

grant all on *.* to 'test'@'%';
GRANT 权限 ON 数据库.TO 用户名@登录主机 identified by '密码'
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' identified by 'password'
grant all privileges on *.* to 'test'@'localhost' identified by '123456';

刷新权限

flush privileges

查看用户权限(ALL/单个)

show grants;
show grants for 'username'@'localhost';
show grants for 'root'@'%';

查看用户

select user from mysql.user;

删除用户

drop user 'test'@'localhost'; 
drop user 'test'@'%';

在这里插入图片描述

#-----------#

创建视图

语法:create view 视图名 as select选取的列名1,选取的列名2.... from 源表;
create view view_name as select column1, column2 FROM table_name;
mysql> create view view_test1 as select ID,NAME from test1;

查看视图

mysql> select * from view_test1;

删除视图

drop view view_name;
drop view IF EXISTS view_name;

#-----------#

创建表添加主键

CREATE TABLE table_name (id INT,name VARCHAR(50),PRIMARY KEY (id));

已存在表添加主键

alter table table_name add primary key(ID);

删除主键

alter table table_name drop primary key(ID);
//一个数据表只可以有一个主键,所以不存在删除某一列的主键

#-----------#

创建索引

//创建索引/删除索引索引不可以更改,想更改必须删除重新建
create index index_name on table_name (column_name);
//其中,index_name为要创建的索引名称,table_name为要添加索引的表名,column_name为要添加索引的列名。

在多列上创建复合索引(联合索引)

create index index_name on table_name (column1, column2, ...);
# 删除索引
drop index index_name;
drop index idxname on table_name;

查看某个表的索引

show index from table_name
//其中,table_name为需要查询索引的表名称。输出结果将包含该表的索引信息,包括索引名、列名、索引类型等。

#-----------#

其它命令集合:

select * from dba_blockers;  --查询锁
select * from dba_waiters; --查询被阻塞的会话
select column_name from tab_old intersect select column_name from tab_new; --显示两表的相同数据
select @@version;select version(); --查看数据库版本
select database(); --查看当前数据库
select user(); --查看当前用户
show tables; --查看所有表
show columns from tablename; --查看表中的列的基本信息
desc table;describe table;  --表名后加字段名,查看该字段基本信息
select CHARACTER_LENGTH(ID) from tablename; --查询该字段值的长度

#-----------#

MySQL:先创建一个企业数据做演示验证:

进入MySQL查出所有的数据库文件

mysql -uroot -p
show databases;
show tables;

#-----------#

创建test237数据库、test1表、录入数据

show databases;

新建数据库test237并指定字符编码为UTF8

create database test237 default character set utf8;

查询test数据库的字符编码

select schema_name,default_character_set_name from information_schema.schemata where schema_name = 'test237';

创建test1表

mysql> create table test1(ID char(10

你可能感兴趣的:(数据库,IT运维,Linux,数据库,oracle,mysql)