DDL:操作数据库、表

DDL操作数据库(CRUD)

C(Create)创建数据库

C(Create) 创建数据库的几种方式

  • 创建数据库

CREATE DATABASE 数据库名;

-- 直接创建数据库db1
create database db1;
  • 判断数据库是否已经存在,不存在则创建数据库

CREATE DATABASE IF NOT EXISTS 数据库名;

-- 判断是否存在,如果不存在则创建数据库db2
 create database if not exists db2;
  • 创建数据库并指定字符集

CREATE DATABASE 数据库名 CHARACTER SET 字符集;

-- 创建数据库并指定字符集为gbk
create database db3 default character set gbk;

R(Retrieve):查询

查询所有数据库的名称:

show databases;

查询某个数据库的字符集:查询某个数据库的创建语句

show create database 数据库名称;

-- 查看某个数据库的定义信息
show create database db1;

U(Update):修改

修改数据库的字符集

alter database 数据库名称 character set 字符集名称;

-- 将db1数据库的字符集改成utf8
alter database db1 character set utf8;

D(Delete):删除

删除数据库

drop database 数据库名称;

-- 删除db2数据库
drop database db2;

判断数据库存在,存在再删除

drop database if exists 数据库名称;

-- 删除db2数据库
 drop database if exists db2;

U(Use)使用数据库

查询当前正在使用的数据库名称

select database();

使用数据库

use 数据库名称;

-- 改变要使用的数据库
use db1;

DDL操作表结构

  • 前提先使用某个数据库 use db1;

C(Create):创建

创建表
创建表的格式:

create table 表名(
列名1 数据类型1,
列名2 数据类型2,

列名n 数据类型n
);
注意:最后一列,不需要加逗号,

创建表的关键字说明
CREATE创建
TABLE

MySQL数据类型

常使用的数据类型如下:

数据类型
详细的数据类型如下:

分类类型名称类型说明
整数tinyInt微整型:很小的整数(占8位二进制)
smallint小整型:小的整数(占16位二进制)
mediumint中整型:中等长度的整数(占24位二进制)
int(integer)整型:整数类型(占32位二进制)
小数float单精度浮点数,占4个字节
double双精度浮点数,占8个字节
日期time表示时间类型
date表示日期类型
datetime同时可以表示日期和时间类型
字符串char(m)固定长度的字符串,无论使用几个字符都占满全部,M为0~255之间的整数
varchar(m)可变长度的字符串,使用几个字符就占用几个,M为0~65535之间的整数
大二进制tinyblob ,Big Large Object允许长度0~255字节
blob允许长度0~65535字节
mediumblob允许长度0~167772150字节
大文本tinytext允许长度0~255字节
text允许长度0~65535字节
mediumtext允许长度0~167772150字节
longtext允许长度0~4294967295字节
-- 创建student表包含id,name,age,score,birthday,insert_time字段
create table student(
				id int,
				name varchar(32),
				age int ,
				score double(4,1),
				birthday date,
				insert_time timestamp
			);
--  int:整数类型
-- double:小数类型
-- date:日期,只包含年月日,yyyy-MM-dd
-- datetime:日期,包含年月日时分秒	 yyyy-MM-dd HH:mm:ss			
--timestamp:时间错类型	包含年月日时分秒	 yyyy-MM-dd HH:mm:ss	
--如果将来不给这个字段赋值,或赋值为null,则默认使用当前的系统时间,来自动赋值			

快速创建一个表结构相同的表

-- 快速创建一个表结构相同的表
create table 表名 like 被复制的表名;
-- 创建s1表,s1表结构和student表结构相同
-- 创建一个s1的表与student结构相同
create table s1 like student;
desc s1;

R(Retrieve):查询

查询某个数据库中所有的表名称

show tables;

查看db1数据库中的所有表
use db1;
show tables;

查询表结构

desc 表名;

-- 查看student表的结构
desc student;

查看创建表的SQL语句

SHOW CREATE TABLE 表名;

-- 查看student的创建表SQL语句
show create table student;
-- 存在的目的是为了避免关键字的冲突

U(Update):修改

修改表名

alter table 表名 rename to 新的表名;

--将学生表student改名成student2
alter table student rename to student2;

修改表的字符集

alter table 表名 character set 字符集名称;

--将student2表的编码修改成gbk
alter table student2 character set gbk;
--查看编码字符集 (类似数据库的查看)
SHOW CREATE TABLE student2 ;

添加一列

alter table 表名 add 列名 数据类型;

--为学生表添加一个新的字段remark,类型为varchar(20)
alter table student add remark varchar(20);

修改列名称 类型

alter table 表名 change 列名 新列别 新数据类型;
alter table 表名 modify 列名 新数据类型;

-- 将student表中的remark字段名改成intro,类型varchar(30)
alter table student change remark intro varchar(30);

--将student表中的remark字段的改成varchar(100)
alter table student modify remark varchar(100);

删除列

alter table 表名 drop 列名;

-- 删除student表中的字段intro
	alter TABLE student drop intro;

D(Delete):删除

直接删除表

drop table 表名;

-- 直接删除表s1表
drop table s1;

判断表是否存在,如果存在则删除表(如果表不存在,不删除,存在则删除)

drop table if exists 表名 ;

-- 判断表是否存在并删除s1表
drop table if exists s1;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值