目录
1. 启动服务和登陆mysql
启动服务
net start mysql<服务名>
停止服务
net stop mysql<服务名>
查看mysql版本
mysqladmin --version
登陆数据库
mysql -u root<用户名> -p
退出数据库
exit或quit
数据目录
datadir="C:/ProgramData/MySQL/MySQL Server 5.7/Data/"
2. 数据库基本操作
2.1 创建数据库
创建数据库
create database test_db
创建数据库,判断不存在,再创建
create database if not exists test_db
创建数据库并指定字符集
create database test_db character set UTF-8
2.2 查询数据库
查询所有数据库名称
show databases
查询某个数据库
show create database test_db
2.3 修改数据库
修改数据库的字符集
alter database test_db character set UTF8;
2.4 删除数据库
删除数据库
drop database test_db
判断数据库存在,存在再删除
drop database if exists test_db
2.5 使用数据库
查询当前使用的数据库
select database()
使用数据库
use test_db
3. 表的基本操作
3.1 创建表
create table <表名>(
字段名1 数据类型 [列级别约束条件] [默认值],
字段名2 数据类型 [列级别约束条件] [默认值],
......
[表级别约束条件]
//注:最后一行不需要逗号“,"
);
关于约束和数据库数据类型,后面再讲
例子
create table tb_empl(
-> id int(11),
-> name varchar(25),
-> depId int(11),
-> salary float
-> );
设置表的属性自动增加
create table tb_empl(
-> id int(11) primary key auto_increment,
-> name varchar(25),
-> depId int(11),
-> salary float
-> );
3.2 查询表
查询某个数据库中所有的表
show tables
查询某个表的数据结构
desc <表名>
查看某个表的详细信息
show create table <表名>
3.3 修改表
修改表名
alter table oldName rename [to] newName;
修改字段的数据类型
alter table <表名> modify <字段名> <数据类型>;
修改字段名
alter table <表名> change <旧字段> <新字段名> <新数据类型>;
添加字段
alter table <表名> add <新字段名> <数据类型> [约束条件] [first|after 已存在的字段名]
① 添加无完整性约束条件的字段
alter table tb_empl add phone varchar(32);
② 添加有完整性约束条件的字段
alter table tb_empl phone varchar(32) not null;
③ 在表的第一列添加一个字段
alter table tb_empl add phone varchar(varchar) first;
④ 在表的制定列之后添加一个字段
alter table tb_empl add phone varchar(32) after name;
删除字段
alter table <表名> drop <列名>
修改字段的排列位置
alter table <表名> modify <字段1> <数据类型> first|after <字段2>
① 修改字段为表的第一列
alter table tb_empl modify name first;
② 修改字段到表的指定列之后
alter table tb_empl modify name varchar(32) after no;
更改表的存储引擎
alter table <表名> engine=<修改后的引擎名>;
删除表的外键约束
alter table <表名> drop foreign key <外键约束名>
修改字符集
alter table <表名> character set <字符集名称>;
3.4 删除表
删除没有被关联的表
drop table [if exists] 表1,表2,...表n;
删除被其它表关联的主表
数据表之间存在外键关联的情况下,如果直接删除父表,结果会显示失败,原因是直接删除,将破坏表的参照的完整性,如果必须要删除,有以下两种方法:
① 先删除子表,再删除父表,如果要保留子表,可以用下面的方法
② 将关联表的外键约束取消