MySQL-DDL语句

MySQL-DDL语句

  • 数据库操作语句
    • 增删数据库
      • 查看数据库列表
      • 创建数据库
      • 进入(使用)数据库/查看当前所在的数据库
      • 查看数据库的建库语句
      • 查看数据库的编码集和校验集
      • 删除数据库
      • 修改数据库的编码集
      • 查看数据库支持的编码集和校验集
    • 数据库备份
      • 备份单个数据库
      • 恢复数据库
      • 备份多个数据库
      • 备份数据库中的表结构
    • 查看登录列表
  • 表结构操作语句
    • 创建表
      • 查看此数据库下的所有表
      • 查看表的详细信息
      • 查看建表语句
    • 修改表
      • 删除表
      • 插入数据
      • 增加属性列
      • 更改属性列的数据类型
      • 更改属性列的属性名
      • 删除某一属性列

数据库操作语句

增删数据库

查看数据库列表

show databases;

MySQL-DDL语句_第1张图片

其中前四个数据库是MySQL数据库自带的,test_db是后来新创建的数据库。

创建数据库

create database db1;
create database [if not exists] dbname [charset = utf8  collate utf8_general_ci engine=innodb]
//上面上种是完整的建库语句,如果在配置文件中设置了编码集和存储引擎可以不用显示写出。

MySQL-DDL语句_第2张图片
创建数据库的本质:在Linux下安装的MySQL,创建一个数据库就是在 /var/lib/mysql目录下创建一个目录文件。创建表结构就是在相应的数据库目录下创建表文件。
MySQL-DDL语句_第3张图片
MySQL-DDL语句_第4张图片

db.opt文件内记录了该数据库的配置信息。

进入(使用)数据库/查看当前所在的数据库

use db_name; //使用或者进入名字为db_name的数据库
select database(); //查看当前所在的数据库

查看数据库的建库语句

show create database db_name; //\G是格式化显示	

MySQL-DDL语句_第5张图片

查看数据库的编码集和校验集

show variables like "character_set_database"; 
show variables like "collation_database";

MySQL-DDL语句_第6张图片

MySQL-DDL语句_第7张图片
编码集和校验集

编码集是指数据在数据库中以怎样的编码格式存储
校验集是指在数据库中读取数据或者是进行数据对比是采用的编码格式。

删除数据库

drop database [if exists] db_name;

修改数据库的编码集

alter database db_name charset = gbk; //修改数据库的编码集

MySQL-DDL语句_第8张图片
MySQL-DDL语句_第9张图片

可以看到当我们修改数据库的编码集时,其校验集跟随着自动发生改变。

查看数据库支持的编码集和校验集

show charsetshow collation;

MySQL-DDL语句_第10张图片
MySQL-DDL语句_第11张图片

数据库备份

备份数据库的操作在root权限下进行。

备份单个数据库

mysqldump -u -P -p -B test_db > /home/gy/test_db.sql
//在命令行中,不是在MySQL中输出此语句
//-u后面跟用户名
//-p后面跟密码(有密码的话)
//-P 指明数据库使用的端口号
//-B 后面跟数据库名称

恢复数据库

source 路径/test_db.sql; 导入之前备份的数据库文件

备份多个数据库

mysqldump -u -P -p -B test_db > /home/gy/test_db.sql db1 > /home/gy/db1.sql //直接在后面追加即可

在这里插入图片描述

备份数据库中的表结构

 mysqldump -P -u -p  指定数据库 表12 > name.sql

在这里插入图片描述

备份文件中的数据

MySQL-DDL语句_第12张图片

查看登录列表

show processlist;

MySQL-DDL语句_第13张图片

表结构操作语句

创建表

create table tb_name (
	字段名,数据类型
	...
)[character set 编码集 collate 校验集 engine 存储引擎];
create table t3( 
	id int, 
	name varchar(12) )
	character set utf8 collate utf8_general_ci engine=innodb;

查看此数据库下的所有表

show tables;

MySQL-DDL语句_第14张图片

查看表的详细信息

desc tb_name;

MySQL-DDL语句_第15张图片

查看建表语句

show create table tb_name\G; \G用于格式化显示

MySQL-DDL语句_第16张图片
comment—建表时对某一列属性进行文字说明

create table stu (
	 sno char(12) primary key comment '这是学号', 
 	sname varchar(10) comment '学生姓名' 
);
//使用show create table tb_name;来查看建表语句时就可以看到建表时对属性列的描述

MySQL-DDL语句_第17张图片

修改表

删除表

drop table tb_name;

修改表名

alter table tb_name rename to newtb_name;
//alter table stu rename to student;

MySQL-DDL语句_第18张图片

插入数据

insert into tb_name [(属性列...)]全列插入时可省略 values(插入的属性值); 

1.全列插入

insert into student values('1001','张三');

2.指定列插入

insert into student(sno) values('1002');

增加属性列

alter table tb_name add 属性列名 数据类型[after 属性列];

1.在学生表中插入年龄这一属性列

alter table student add age int;

MySQL-DDL语句_第19张图片
2.在学生表中插入性别这一属性列,并且要求在姓名列后

alter table student add gender enum('男','女') after sname;

MySQL-DDL语句_第20张图片

更改属性列的数据类型

alter table tb_name modify 属性名 数据类型;

1.修改学生表中性别数据类型为char(1)

alter table student modify gender char(1);

MySQL-DDL语句_第21张图片

更改属性列的属性名

alter table tb_name change oldname newname 数据类型;

1.修改学生表中性别的属性名为sex

alter table student change gender sex char(1);

MySQL-DDL语句_第22张图片

删除某一属性列

alter table tb_name drop 属性列;

1.删除学生表中年龄字段

alter table student drop age;

MySQL-DDL语句_第23张图片

你可能感兴趣的:(MySQL,mysql,数据库,oracle)