MySQL DDL数据定义语句

1. 添加新列
sql 复制代码
ALTER TABLE table_name
ADD column_name data_type;
2. 删除列
sql 复制代码
ALTER TABLE table_name
DROP COLUMN column_name;

删除名为 email 的列:

sql 复制代码
ALTER TABLE employees
DROP COLUMN email;
3. 修改列的数据类型
sql 复制代码
ALTER TABLE table_name
MODIFY COLUMN column_name new_data_type;

修改salary 列的数据类型

sql 复制代码
ALTER TABLE employees
MODIFY COLUMN salary DECIMAL(12, 2);
4. 重命名列
sql 复制代码
ALTER TABLE table_name
RENAME COLUMN old_column_name TO new_column_name;

重命名:

sql 复制代码
ALTER TABLE employees
RENAME COLUMN first_name TO given_name;
5.其他
  • 删除外键:
sql 复制代码
alter table 从表名 drop foreign key 外键名;
  • 修改表名:

    sql 复制代码
    ALTER TABLE old_table_name RENAME TO new_table_name;-- 修改表名
  • 修改表字符集:

    sql 复制代码
    ALTER TABLE table_name CHARACTER SET new_character_set; -- 修改表的字符集
  • 修改列名称:

    sql 复制代码
    ALTER TABLE table_name CHANGE old_column_name new_column_name data_type; -- 修改列名称
  • 修改数据库:

    sql 复制代码
    ALTER DATABASE you CHARACTER SET utf8; -- 修改数据库使用的字符集

CREATE TABLE : 创建表。

基本语法
sql 复制代码
CREATE TABLE table_name (
    column1 data_type [constraints],
    column2 data_type [constraints],
    ...
);
  • constraints: 可选,定义列的约束,如 PRIMARY KEY, FOREIGN KEY, NOT NULL, UNIQUE, DEFAULT .

示例:

sql 复制代码
CREATE TABLE employees (
    employee_id INT PRIMARY KEY,--主键
    first_name VARCHAR(50) NOT NULL,
    last_name VARCHAR(50) NOT NULL,
    hire_date DATE, --日期类型
    salary DECIMAL(10, 2) --十进制类型,两位小数,10是数字的总长度,2是小数点后的位数
);
创建数据库:
sql 复制代码
CREATE DATABASE mydatabase; // 创建新的数据库
CREATE DATABASE IF NOT EXISTS mydatabase; // 创建前判断有没有存在该数据库
CREATE DATABASE example CHARACTER SET gbk; // 创建指定字符集的数据库
sql 复制代码
show databases ;--查询所有数据库  
  
select database(); --查询当前数据库  
  
--加上 if exists等就不会报错  
create database if not exists project default charset utf8mb4 collate utf8mb4_general_ci;--创建数据库,指定字符集和排序规则  
  
drop database if exists dataBaseName;-- 删除数据库  
  
use `database example`; -- 使用数据库  
  
desc user; --查询表结构  
  
DESCRIBE  user; --查询表结构  
  
show columns from  customer;-- 类似于查询表结构  
  
show tables; --查询当前数据库所有表  
  
show create table user; --查询指定表的建表语句  
  
  
create table test(  
    id int ,  
    name varchar(30),  
    salary double  
);-- 创建表  
  
alter table test add address varchar(30); -- 添加字段  
  
alter table test modify id double ; --修改数据类型  
  
alter  table  test change  id ID int; --修改字段类型和字段名称  
  
alter table  test drop  address; --删除字段  
  
alter table test rename to customer; --修改表名  
  
相关推荐
这个DBA有点耶12 小时前
主从切换报成功,业务却写不进去——数据层脑裂与应用层连接残留的两类假成功
数据库·架构·dba
qq_4523962312 小时前
第八篇:《VACUUM、自动清理与膨胀治理》
jvm·数据库·oracle
comyccccc12 小时前
STM32F407VET6核心板的部分电路绘制学习笔记
笔记·stm32·学习
SelectDB技术团队12 小时前
ClickHouse 支持存算分离吗?Doris 社区版原生存算分离怎么落地
数据库·clickhouse·云原生·开源·apache doris·技术选型·存算分层
叼烟扛炮13 小时前
Linux 学习笔记(三十六):并发进阶——读写锁 vs 自旋锁,到底怎么选?
linux·运维·服务器·笔记·学习
DBA_G13 小时前
南大通用GBase 8a数据库可视化灾备解决工具GVR
数据库
摇滚侠13 小时前
《On Java 中文版 基础卷》阅读笔记 复用 13
java·笔记·python
JJJennie77713 小时前
MAI Gateway实战部署:大模型网关部署方案?从0到1上手指南
数据库·人工智能·gateway·ai网关
吹什么轩13 小时前
MySQL 内连接与外连接:从笛卡尔积到 LEFT JOIN,一篇讲透
数据库·mysql
涛思数据(TDengine)13 小时前
支撑药企全球化合规:TDengine 发布中美欧三地监管对照白皮书
大数据·数据库·人工智能·ai·tdengine