数据库表的相关操作
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字段
);