-------------------------------------------------------------------------------------------------------------------------
需要学习select查询命令的 可以看另一篇纯查询语句学习的笔记
—— mysql的select查询命令学习
-------------------------------------------------------------------------------------------------------------------------
1.显示 数据库、表
//显示所有数据库
show databases;
//前提是进入了某一个数据库,显示所有表
show tables;
2.创建、删除 数据库
2.1创建
create database Company;
2.2删除
drop database Company;
3. 数据库的基本操作
Company拥有 offices、employees两个表,
3.1 进入数据库
use Company;
3.2 查看详细结构
//查看Company数据库详细结构语句
show create database Company\G;
//查看offices表详细结构语句(可查看到约束名、表使用的引擎名)
show create table offices\G;
3.3 显示offices表中的字段(能看到存在什么类型约束)
desc offices;
3.4 查看默认存储引擎
show variables like'storage_engine';
3.5 创建表
create table offices1
(
id int(11) primary key not null,
name varchar(25) unique,
salary float default 8841.5, //不填则默认为8841.5
sex varcahr(10),
constraint name_unique unique(name) //name列设置唯一值约束,自定义约束名为name_unique
);
create table offices2
(
id int(11) primary key auto_increment,
offices1Id int(11),
name varchar(25) unique,
salary float,
primary key(id,name), //联合主键
//表office2的列 office1Id 为外键,表office1的id为主键
constraint fk_off2_off1 foreign key (office1Id) references offices1 (id)
);
//主键(primary key),外键(foreign key),唯一值(unique),不为空(not null),默认值(default)
// 属性值自动增加 auto_increment,默认从1开始,每增加一条数据加一
3.5.1 修改auto_increment的默认值,只需在创建表之后输入如下命令:
alter table 表名 auto_increment=默认值;
3.6 修改表名
alter table 原表名 rename 新表名;
3.7 修改表中字段的数据类型、增加约束(不修改数据类型就填原样,不增加约束就不写)
alter table 表名 modify 字段名 数据类型 约束;
3.8 修改字段名、修改数据类型(不修改数据类型则要写成原样的数据类型,不可以为空)
alter table 表名 change 原字段名 新字段名 新数据类型;
3.9 添加字段、约束(不需要约束可以不加)
alter table 表名 add 字段名 数据类型 约束 first/ after 已存在字段名;
//first 和 after 已存在字段名 ,选一个使用
//first 。表示把新添加的 字段 放在表最上方
//after 已存在的字段名。 表示把新添加的字段放在 已存在的字段名 的下方
3.10删除字段、删除行
3.10.1删除表中一个字段
alter table 表名 drop 字段名;
3.10.2 删除表中满足条件的行
delete from 表名 where 条件
3.11 删除 unique 约束
alter table 表名 drop index 约束名;
//没有自定义约束名,则约束名默认为列名
查找某表的约束名:
show index from 表名;
3.12 更新记录
update 表名 set 字段名=修改值 where 条件;
3.13 删除外键约束
alter table 表名 drop foreign key 外键约束名;
//外键约束名可通过 show create table 表名\G查看
3.14 删除表(没有被关联的表、被其他表关联的表)
3.14.1 删除没有被其他表关联的表
drop table if exists 表1,表2,表3;
//也可以不加 if exists 但是这样,如果没有表2,会停止删除表2之后的表。
3.14.2 删除被关联的表(作为父表的表)
首先 删除 子表 的外键约束。见13.
再删除父表。
3.15 修改字段排列位置
alter table 表名 modify 字段1 数据类型 first/after 字段2
//把字段1排在最前面(first)或者 排在 字段2之后(after 字段2)
3.16 修改表的存储引擎
alter table 表名 engine=引擎名
关联的表之间的存储引擎必须相同!