命令行连接
mysql -u -p -h -P
# -u 用户名
# -p 密码
# -h host主机
# -P 端口号,默认3306
实际操作:
mysql -u root -p
mysql -h 127.0.0.1 -P 3307 -u root -p
# 输入密码:
库级知识
# 显示数据库
show databases;
# 选择数据库
use dbname;
# 创建数据库
create database dbname charset utf8;
# 删除数据库
drop database dbname;
命令行的交互红面必须以分号;结尾,否则不执行
表级知识
如果是对视图操作,把 table 换成 view
# 显示库下面的表,视图也会被展示
show tables;
# 查看表的结构:
desc tableName;
# 查看表的创建过程:
show create table tableName;
# 查看库下所有表的详细信息:
show table status;
# 查看库下某个表的详细信息:
show table status where name="goods";
# 创建表:
create table tbName (
列名称1 列类型 [列参数] [not null default ],
....列2...
....
列名称N 列类型 [列参数] [not null default ]
)engine myisam/innodb charset utf8/gbk
例子:
create table user (
id int auto_increment,
name varchar(20) not null default '',
age tinyint unsigned not null default 0,
index id (id)
)engine=innodb charset=utf8;
# 注:innodb是表引擎,也可以是myisam或其他,但最常用的是myisam和innodb,
charset 常用的有utf8,gbk;
修改表:
# 3.5.1 修改表之增加列:
alter table tbName
add 列名称1 列类型 [列参数] [not null default ] #(add之后的旧列名之后的语法和创建表时的列声明一样)
# 3.5.2 修改表之修改列
alter table tbName
change 旧列名 新列名 列类型 [列参数] [not null default ]
(注:旧列名之后的语法和创建表时的列声明一样)
# 3.5.3 修改表之减少列:
alter table tbName
drop 列名称;
# 3.5.4 修改表之增加主键
alter table tbName add primary key(主键所在列名);
例:alter table goods add primary key(id)
该例是把主键建立在id列上
# 3.5.5 修改表之删除主键
alter table tbName drop primary key;
# 3.5.6 修改表之增加索引
alter table tbName add [unique|fulltext] index 索引名(列名);
# 3.5.7 修改表之删除索引
alter table tbName drop index 索引名;
# 3.5.8 清空表的数据
truncate tableName;
数据存储的位置
方式一
登录数据库后,查询
SHOW VARIABLES LIKE 'datadir';
通过 brew 安装的在这里:/opt/homebrew/var/mysql/
方式二
也可以直接在命令行使用 mysql_config --variable=prefix
查看,改命令输出 MySQL 安装的根目录,你可以在该目录下找到 MySQL 数据目录。
cat /opt/homebrew/bin/mysql_config
找到 ldata='/opt/homebrew/var/mysql'