MySQL数据库的基本操作
1.创建数据库
create database database_name;
2.查看创建好的数据库的定义
show create database database_name;
3.删除数据库
drop database db_name;
4.查看MySQL的存储引擎
show engines \G
InnoDB是MySQL的默认存储引擎
5.查看所有的数据库
show databases;
数据表的基本操作
1.创建表的语法形式
create table <table_name>
(
字段名1,数据类型[列级别约束条件][默认值]
字段名2,数据类型[列级别约束条件][默认值]
字段名3,数据类型[列级别约束条件][默认值]
......
[表级别约束条件]
)
2.使用主键约束
create table emp(
id int(11)primary key,
name varchar(11),
salary float
);
3.使用联合主键
create table emp(
name varchar(11),
depId int(11),
salary float,
primary key(name,depId)
);
4.使用外键约束
约束规则:首先必须是两张表
主表:对于两张具有关联关系的表而言,相关字段中,主键所在的那张表即为主表
从表:对于两张具有关联关系的表而言,相关字段中,外键所在的那张表即为从表
创建基本规则:[constraint <外键名>] foreign key 字段名1[,字段名2,。。。] references <主表名> 主键列1[,主键列2]
eg: 两张表
create table dept(
id int(11) primary key,
name varchar(11),
location varchar(11)
);
create table emp(
id int(11)primary key,
name varchar(11),
deptId int(11),
salary float,
constraint fk_emp_dept foreign key(deptId) references dept(id)
);
注:deptId字段的类型要和dept表中的id字段类型一致
5.使用非空约束,唯一性约束,默认约束,表属性值自动增加
create table emp(
id int(11)primary key auto_increment,
name varchar(11) unique,
deptId int(11) default 111,
card int(18),
constraint STH unique(card)
);
6.查看表结构
desc table_name;
show create table table_name;查看表的详细信息
修改表
1.修改表名
alter talbe <oldname> rename <newname>;
eg: alter talbe emp renmae newemp;
2.修改字段类型
alter table talbe_name modify <字段名> <字段类型>;
3.修改字段名
alter table table_name change <old字段名><new字段名><数据类型>
4.添加字段
alter table table_name add <字段名><字段类型>
在表的第一列添加字段
alter table table_name add <字段名><字段类型> first;
在指定列之后添加字段
alter table table_name add <字段名><字段类型> after name;
5.删除字段
alter table table_name drop 字段名
6.修改字段的排列位置
alter table table_name modify 字段1 数据类型 first|after 字段名;
7.更改表的存储引擎
查看:show create table table_name \G
alter table table_name=engine;
8.删除表达外键约束
alter table table_name drop foreign key 约束名;
9.删除表
drop table if exists table1,table2,table3...tablen;
删除的表必须没有外键关联,否则报错,必须先解除关联关系