数据表的基本操作之数据库表的相关操作

数据库表的相关操作

sql语言的分类

​ DML数据操作语言:对数据的增删改查

​ DCL数据控制语言 :创建用户、分配权限、事务管理

​ DDL数据定义语言:逻辑库、数据表、视图、索引

逻辑空间的操作:

sql 复制代码
# 查寻逻辑空间
SHOW DATABASES;
# 创建逻辑空间
CREATE DATABASE demo;
# 删除逻辑空间
DROP DATABASE demo;

字段约束:

约束名称 关键字 描述
主键约束 PRIMARY KEY 字段值唯一,且不能为NULL
非空约束 NOT NULL 字段值不能为NULL
唯一约束 NUIQUE 字段值唯一,且可以为NULL
外键约束 FOREIGN KEY 保持关联数据的逻辑性

数据库表结构的修改

sql 复制代码
CREATE DATABASE my;

# 切换my数据库
use my;

# 显示数据库表
SHOW TABLES;

# 创建数据库表
CREATE TABLE student(
	id INT UNSIGNED PRIMARY KEY,
	name VARCHAR(20) NOT NULL,
	sex CHAR(1) NOT NULL,
	birthday DATE NOT NULL,
	tel char(11) NOT NULL,
	remark VARCHAR(200)
);

# 向数据库表中插入一行数据
INSERT INTO student VALUES(1, "李强", "男", "2002-02-12", "12765489865", NULL);
# 删除数据库表
DROP TABLE student;

# 展示字段类型及约束
DESC student;

# 向表中增加字段
ALTER TABLE student 
ADD address VARCHAR(200) NOT NULL,
ADD home_tel VARCHAR(11) NOT NULL;

# 删除表中的字段
ALTER TABLE student
DROP address,
DROP home_tel;

# 修改字段类型和约束
ALTER TABLE student
MODIFY home_tel CHAR(11) NOT NULL;

# 修改字段名称及类型、约束
ALTER TABLE student 
CHANGE home_tel home_telp Char(11) NOT NULL;

# 修改表名
ALTER TABLE student RENAME tb_student;

关联字段与索引

sql 复制代码
# 创建一个部门表
CREATE TABLE tb_dept(
	deptno INT UNSIGNED PRIMARY KEY,
	dename VARCHAR(20) NOT NULL UNIQUE,
	tel CHAR(4) UNIQUE,
	# 创建索引
	INDEX idx_tel(tel)
);

# 删除索引
DROP INDEX idx_tel ON tb_dept;

# 添加索引,两种方式
CREATE INDEX idx_tel ON tb_dept(tel);
ALTER TABLE tb_dept ADD INDEX idx_tel(tel);

# 显示表中所有的索引	
SHOW INDEX FROM tb_dept;

# 创建一个员工表
CREATE TABLE tb_emp(
	empno INT UNSIGNED PRIMARY KEY,
	ename VARCHAR(20) NOT NULL,
	sex ENUM("男", "女") NOT NULL,
	deptno INT UNSIGNED NOT NULL,
	hiredate DATE NOT NULL,
	FOREIGN KEY (deptno) REFERENCES tb_dept(deptno)		# 当前的deptno关联到tb_dept表的deptno字段
);
相关推荐
姜太小白13 分钟前
【MySQL】 索引优化实战:解决 WHERE 等值 + IS NULL 查询,TEXT 字段报错 1167 的完整指南
数据库·mysql
窝子面40 分钟前
手搓最简前后端协作-node
javascript·数据库
吳所畏惧1 小时前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh
DFT计算杂谈1 小时前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
HPFBoy1 小时前
log4net 数据库存日志正确配置
数据库
liuxiaowei32 小时前
【绝版教程】新版MySQL DBA高级实战进阶班 MySQL8.0 姜承尧-腾讯数据库总监
数据库·mysql·dba
破碎的南瓜2 小时前
sqli--sql注入过关笔记(1,2,3,4,5,9)
数据库·笔记·sql
吠品3 小时前
Zabbix Web界面误报Server未运行的排查与解决
java·服务器·数据库
SelectDB4 小时前
Apache Doris Variant 动态 JSON 实战教程:从建表到跑通 100M Agent 日志查询
数据库
sg_knight4 小时前
MySQL 存储过程详解:从入门到实战
android·数据库·mysql·database·dba·关系型数据库·db