Mac下使用终端操作MySQL数据库
1、安装MySQL
略
2、为mysql设置软链接
ln -s /usr/local/mysql/bin/mysql /usr/local/bin/
3、启动MySQL
在系统偏好设置下的Mysql中启动Mysql服务
4、登录MysQL
在终端下输入以下命令
1. mysql -u root -p
2. 输入密码
5、退出MySQL
exit 或者 quit
6 、常用的终端命令
操作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; |