MySQL数据库与数据表操作


1.通过命令连接MySQL

mysql -h localhost -u root -p

-h 服务器地址(是本机时可以不写) 
-u 登陆账号
-p 登陆密码
-P 端口号,默认为3306

2.数据库操作

(1).创建库

create database [if not exists] 库名 default charset=utf8;
-- 若库不存在则创建,若库已存在则不执行
-- 创建库并设置字符集为 utf8 ,无特殊情况都要求字符集为 utf8 或 utf8mb4

(2).查询所有库

show databases;

(3).进入库

use 库名;

(4).删除库

drop database 库名;

3.数据表操作

(1).创建表

-- 创建表的基本原则:
	-- 表名和字段名遵循命名规范
	-- 表中数据必须有唯一标识,即主键,无特殊情况则为数字并自增即可
	-- 字段对应的类型和长度需要合理设置
	-- 表引擎推荐使用 innodb ,无特殊情况都要求字符集为 utf8 或 utf8mb4 字符编码
	
create table [if not exists] 表名(
    字段1 类型 字段约束,
    字段2 类型 字段约束,
    字段3 类型 字段约束
    )engine=innodb default charset=utf8;

(2).查询当前库中所有表

show tables;

(3).查询表结构

desc 表名;

(4).查询建表语句

show create table 表名;

(5).删除表

drop table 表名;

(6).修改表结构

alter table 表名 操作 被修改的内容;

-- 添加字段,新字段默认追加在最后,但可以使用 first/after 子句来控制添加的位置
alter table 表名 add 新字段信息 [first/after 字段名];

-- 修改字段信息,change 需要连字段名一起修改,modify 不能修改字段名
alter table 表名 change/modify 新字段信息;

-- 删除字段
alter table 表名 drop 字段名;

-- 修改表名
alter table 表名 rename as 新表名;

-- 修改自增起始值
alter table 表名 auto_increment = X;

-- 修改表引擎
alter table 表名 engine = 'myisam'
	-- 获取当前表引擎的方法:
	-- show create table 表名;
	-- show table status from 库名 where name = '表名';