数据库笔记2---SQL语言之DDL

SQL语言分为4类:

1️⃣DDL:(data definition language,数据定义语言):在数据库系统中,每一个数据库、数据库中的表、视图和索引等都是数据库对象。要建立和和删除一个数据库对象,都可以通过DDL语言来完成。DDL包括create、alter、drop。

2️⃣DML(data manipulation language,数据操纵语言):DML是用来添加、修改和删除数据库中数据的语句,包括insert、delete、update等。

3️⃣DQL(data query language,数据查询语言):查询是数据库的基本功能,查询操作通过DQL语言来实现。包括:select。

4️⃣DCL(data control language,数据控制语言):DCL包括数据库对象的权限管理和事务管理等。

本文档记录DDL语言部分

1、建立数据库

create database 数据库名字;

2、建立基本表

create table 表名 (
	列名 数据类型,
	...
	完整性约束,
	...
);
-- 给表加备注信息
alter table 表名 comment '表名备注';

例如:"`"符号可以消除歧义,是一个好习惯。

-- full_reduce_activity: table
CREATE TABLE `full_reduce_activity` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
  `active_name` varchar(50) NOT NULL DEFAULT '' COMMENT '活动名称',
  `member` int(1) NOT NULL DEFAULT '0' COMMENT '会员专享:1全部2会员',
  `new_user` int(1) NOT NULL DEFAULT '0' COMMENT '新客专享:1全部2新人',
  `active_start_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '活动开始时间',
  `active_end_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '活动结束时间',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  `create_user` varchar(50) NOT NULL DEFAULT '' COMMENT '创建人',
  `update_user` varchar(50) NOT NULL DEFAULT '' COMMENT '修改人',
  `del_status` int(1) NOT NULL DEFAULT '0' COMMENT '状态0生效1删除',
  PRIMARY KEY (`id`),
  KEY `idx_active_start_time` (`active_start_time`),
  KEY `idx_active_end_time` (`active_end_time`)
) ENGINE=InnoDB AUTO_INCREMENT=113 DEFAULT CHARSET=utf8mb4 COMMENT='20180925 宫宁刚 满减活动';

特殊用法:从一个表复制到另一个表

create table full_reduce_activity_back as
select * from full_reduce_activity;

3、修改基本表结构

基本表创建完成后,可以根据需要添加列、修改列 或删除列;

1️⃣增加列

alter table 表名 add 列名 类型;

2️⃣修改一个列:

alter table 表名 modify column 列名 新类型;
例如:
-- 添加一列
alter table product_promotion add batch_no int(11) not null default 0;
-- 添加索引
ALTER TABLE `product_promotion`  ADD  INDEX idx_batch_no (`batch_no`);
-- 修改列的备注
alter table product_promotion modify column batch_no int(11) not null default 0 comment '通过excel批量上传的批次号';
--增加2个索引
ALTER TABLE `active_promotion` ADD INDEX idx_active_id (`active_id`),ADD INDEX idx_promotion_id (`promotion_id`);

3️⃣删除一个列:

alter table 表名 drop column 列名;

4、删除基本表

drop table 表名;

例如:

drop table full_reduce_sku; --删除满减活动表
注意:
delete from full_reduce_sku; --删表中的全部数据,如果删部分数据加where语句

5、索引的添加、删除

这一部分日后总结。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值