创建和管理数据库、表

数据库创建与管理

#创建数据库
CREATE DATABASES IF NOT EXISTS db_name CHARACTER SET 'utf8';
#查看所有数据库
SHOW DATABASES;
#切换数据库
USE db_name;
#查看当前数据库中保存的表
SHOW TABLES;
#查看当前使用的数据库
SHOW DATABASE() FROM DUAL;
#查看数据库信息
SHOW CREATE DATABASE db_name;
#更改数据库
ALTER DATABASE db_name CHARACTER SET 'xxx';
#删除数据库
DROP DATABASE IF EXISTS db_name;

数据表创建与管理

创建

#新创建
CREATE TABLE IF NOT EXISTS t_name(
col_1 INT.
col_2 VARCHAR(15),
col_3 DATE,
...;
)
#基于已有表创建
CREATE TABLE t_name
AS
SELECT xxx,xxx,xxx
FROM another_table;
#查看字段
DESC t_name;
#eg.基于tb_1创建新表,但不复制数据
CREATE TABLE tb_2
AS
SELECT xxx,xxx,xxx
FROM tb_1
WHERE 1 = 0;

修改

#添加字段
ALTER TABLE tb_1
ADD xxx INT;

ALTER TABLE tb_1
ADD xxx INT FIRST;
ALTER TABLE tb_1
ADD xxx INT AFTER yyy; #指定字段位置
#修改字段类型
ALTER TABLE tb_1
MODIFY xxx VARCHAR(15);
#重命名字段
ALTER TABLE tb_1
CHANGE name new_name VARCHAR(15);
#删除字段
ALTER TABLE tb_1
DROP COLUMN xxx;
#删除表
#重命名表
ALTER TABLE t_name
RENAME TO new_name;
#删除表(没有与其他数据表形成关联)(无法回滚)
DROP TABLE IF EXISTS t_name;
#清空表(可回滚)
TRUNCATE TABLE t_name;

COMMIT与ROLLBACK

COMMIT: 提交,意味着数据无法回滚

ROLLBACK: 回滚至上次COMMIT

· DDL(CREATE/ALTER/DROP): 一旦执行,就不能回滚,SET autocommit = FALSE无效

· DML(SELECT/UPDATE/DELETE): 默认情况不能回滚,若事先SET autocommit = FALSE,则可回滚

posted @   nosuchpgmr  阅读(82)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示
主题色彩