数据库的操作:
创建数据库
create database 数据库名称;显示数据库
show databases;
使用数据库
use 数据库名;
删除数据库存
drop database 数据库名;
表的操作:
(
字段名1 数据类型,
字段名2 数据类型,
字段名2 数据类型,
等等...
)
drop table 表名;
显示表
show tables;
显示表的结构关系
desc 表名;
alter table 表名 add 字段名 数据类型;
alter table 类名 modify 字段名 数据类型;
删除字段
alter table 类名 drop 字段名;
修改字段名
alter table 表名 change 修改前的字段名 修改后的字段名 数据类型;
数据库约束:
作用:保证数据的完整性NOT NULL:非空约束,指定某列不能为空。
UNIQUE:唯一约束,指定某列或者几列组合不能为空。
PRIMARY KEY:主键,指定该列的值唯一地标识该条记录。
FOREIGN KEY:外键,指定该行记录从属于主表中的一条记录,主要用于保证参照完整性。
CHECK:检查,指定一个布尔表达式,用于指定对应列的值必须满足该表达式。(MySQL数据库不支持)
约束有两种实现写法:
1、列级约束写法:针对列定义是进行约束处理
2、表级约束写法:针对表定义进行约束处理
NOT NULL
作用:指定某列(字段)不能为空
只支持:列级约束写法
create table 表名
(
列名 int not null,
列名 varchar(20)
);
修改不为空: alter 表名 modify 列名 数据类型 not null;
UNIQUE
作用:描写某列的值是唯一
列级写法:
create table 表名
(
test_id int not null,
test_name varchar(255) unique
);
表级写法:
create table 表名
(
test_id int not null,
test_name varchar(255),
constraint 约束名 unique(test_pass)
);
删除unique约束
alter table 表名 drop constraint index 约束名;
PRIMARY KEY约束
作用:针对行的唯标识
列级约束写法:
create table 表名
(
test_id int primary key, -------(test_id int auto_increment primary key 自增长写法)
test_name varchar(255)
);
表级约束写法:
create table 表名
(
test_id int
test_name varchar(255),
constraint约束名 primary key(test_id)
);
删除主键约束
alter table 表名 drop primary key;
FOREIGN KEY(外键约束)
概念:保证数据的完整性, 主表和从表的数据完整性
主表
create table t_teacher
(
teacher_id int primary key,
teacher_name varchar(20)
);
从表
create table t_student
(
student_id int primary key,
student_name varchar(20),
teacher_id int,
constraint 约束名 foreign key(teacher_id) references t_teacher(teacher_id) on delete cascade
);
解除外键约束
alter table 表名 drop foreign key 约束名;
添加外键约束
alter 从表名 add constraint 约束名 foreign key(从表字段) references 主表名(主表字段);
创建表的索引
作用:优化查询性能使用场景:针对某个字段,作频繁的查询
索引产生:1、系统自动产生 例如:主键、唯一约束 2、自创建索引
自创建索引:create index 索引名 on 表名(字段名);
删除索引:drop index 索引名 on 表名;
视图
概念:虚拟映射表特点:1、不能操作数据(删除、添加、更新)
2、便于查询数据(多表复杂数据)
创建视图
create or replace view 视图名
as 查询语句
例如:create or replace view view_student
as select * from t_student s,t_teacher t where s.fk_teacher_id=t.teacher_id;
删除视图:drop view 视图名;