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; |