CREATEDATABASEIFNOTEXISTS my_database;USE my_database;CREATETABLEIFNOTEXISTS students (
id INTAUTO_INCREMENTPRIMARYKEY,
name VARCHAR(50)NOTNULL,
age INTNOTNULL,
gender ENUM('Male','Female')NOTNULL,
address VARCHAR(100),CONSTRAINT chk_age CHECK(age >=18));CREATETABLEIFNOTEXISTS courses (
id INTAUTO_INCREMENTPRIMARYKEY,
course_name VARCHAR(50)NOTNULL,
credits INTNOTNULL,
department VARCHAR(50),CONSTRAINT uc_course_name UNIQUE(course_name));createtableifnotexists departments
(
dep_id intnotnullprimarykey,
dep_name varchar(50)notnull);
1、插入一些测试数据:
INSERTINTO students (name, age, gender, address)VALUES('lfsun-1',20,'Female','123 Main St'),('lfsun-2',22,'Male','456 Elm St'),('lfsun-3',19,'Male','789 Oak St');INSERTINTO courses (course_name, credits, department)VALUES('Math',3,1),('History',4,2),('Physics',3,4);
2、创建索引:
-- 创建 students 表的索引CREATEINDEX idx_students_name ON students (name);-- 创建 courses 表的主键索引ALTERTABLE courses ADDPRIMARYKEY(id);-- 创建 courses 表的外键索引ALTERTABLE courses
ADDFOREIGNKEY(department)REFERENCES departments (dep_id);
3、删除索引:
-- 删除 students 表的索引DROPINDEX idx_students_name ON students;-- 删除 courses 表的主键索引ALTERTABLE courses DROPPRIMARYKEY;-- 删除 courses 表的外键索引(courses_ibfk_1:外键的名字)ALTERTABLE courses DROPFOREIGNKEY courses_ibfk_1;