Mac下使用终端操作MySQL数据库

Mac下使用终端操作MySQL数据库

安装MySQL

为mysql设置软链接

ln -s /usr/local/mysql/bin/mysql /usr/local/bin/

启动MySQL

在系统偏好设置下的Mysql中启动Mysql服务

登录MysQL

在终端下输入以下命令
1. mysql -u root -p
2. 输入密码

退出MySQL

exit 或者 quit

常用的终端命令

操作MySQl

命令 作用 示例
select version(); 显示版本 select version();
select now(); 显示时间 select now();

操作数据库

命令 作用 示例
create database 数据库名; 创建数据库 create Database name;
drop database 数据库名; 删除数据库 drop Database name;
use 数据库名; 切换数据库 use name;
select database(); 查看单前选择的数据库 select Database();

操作表

命令 作用 示例
show tables; 查看当前数据库中所有表 show tables;
drop table 表名; 删除一张表 drop table car;
create table 表名(列及类型); 创建一张表 create table car(id int auto_increment primary key,name varchar(16) not null,is_delete bit not null default 0);
desc 表名; 查看表的结构 desc car;
show create table 表名; 查看表的建表命令 show create table car;
rename table 原表名 to 新表名; 重命名表的名称 rename table car to cars;

插入数据

命令 作用 示例
insert into 表名 values(…) 全列插入 insert into car values(0,”奥迪”,160,0);
insert into 表名(列1,列2,…) values(值1,值2,…); 缺省插入 insert into car(name,max_speed) values(“特斯拉”,160);
insert into 表名 values(…),(…),…; 同时插入多条记录 insert into car values(0,”玛萨拉蒂”,180,0),(0,”布加迪威龙”,230,0);
delete from 表名 where 条件; 删除表的一条记录 delete from car where id=4; (不写条件表示删除表的所有记录!!!)
update 表名 set 列1=值1,列2=值2,.. where 条件; 修改表的一条记录 update car set max_speed=180 where id=2; (不写条件表示修改表的所有记录!!!)

查询数据

命令 作用 示例
select 列1,列2,… from 表名 where 条件; 查询表中某些列的数据 select name,max_speed from car where max_speed>160;
like (%表示任意多个任意字符、_表示一个任意字符) 模糊查询 select * from car where name like “奥_”; or select * from car where name like “特%”;
in 查询一个不连续的范围 select * from car where id in(2,5,6);
between…and… 查询一个连续的范围 select * from car where id between 3 and 6;
表2 inner join 表1 on 表1.列=表2.列 关联查询两个表的数据 select student.name,student.age,student.address,car.name from car inner join student on car.owner=student.name;
distinct 消除重复数据 select distinct name from car where id>=2;
limit start,count 分页(查询从start开始的count条记录) select * from car where max_speed>100 order by max_speed desc limit 0,3;

运算符

命令 作用 示例
is null 、 is not null 空判断 select * from car where name is not null;
=、>、<、>=、<=、!=、<> 比较运算符 select distinct name from car where id>=2;
and、or 、not 逻辑运算符 select name from car where id>=2 and max_speed>180;

聚合函数

命令 作用 示例
count(*) 计算总行数 select count(*) from car;
max(列) 求此列的最大值 select max(max_speed) from car;
min(列) 求此列的最小值 select min(max_speed) from car;
sum(列) 求此列的和 select sum(max_speed) from car;
avg(列) 求此列的平均值 select avg(max_speed) from car;
select 列1,聚合… from 表名 group by 列1,…having 列1,… 按照字段分组 select max_speed,count(*) from car group by max_speed,is_delete having max_speed!=230;
order by 列1 (asc or desc) ,列2 (asc or desc) 按列1、列2进行排序 select name,max_speed from car order by max_speed desc;

你可能感兴趣的:(数据库)