sudo apt-get update
sudo apt-get install mysql-server
sudo apt install mysql-client
sudo apt install libmysqlclient-dev

安装之后测试是否安装成功

sudo netstat -tap | grep mysql

出现以下信息安装成功:

ubuntu下mysql版本查询命令 ubuntu查看数据库版本_字符串


登陆mysql数据库可以通过如下命令:

mysql -u root -p

ubuntu下mysql版本查询命令 ubuntu查看数据库版本_mysql_02

查看显示所有相关库

show database();

查看当前数据库的版本

select version();

打开指定的库

use 库名;

查看当前库的所有表

show tables;

查看其他库的所有表

show tables from 库名;

创建表

creat table 表名(
列名 列类型,
列名 列类型,
);

查看表结构

desc 表名;

查看服务器的版本

select version();

去重distinct

select distinct job_id from 表名;

+号的作用只有一个:运算符,因此字符串的拼接只能用concat

select cancat(last_name, first_name) as 姓名 from 表名;

将值为null的全部转换为0

select ifnull (字段名, 0) as 重命名 from 表名;

条件查询

select 字段名 from 表名 where 筛选条件;

条件运算符: > < != <>
逻辑运算符:$$ || ! 与或非
模糊查询:
like 一般和通配符搭配:% 任意多个字符, 包含0个字符
_任意单个字符
between and, in , is null
以上运算符都是应用在筛选条件部分

查询第三个字符为n第五个字符为l的名字

select 字段名last_name from 表名 where last_name like '__n_l%';

查询员工名字中第二个字符为_的员工名,需要用到转义字符 \

select 字段名last_name from 表名 where last_name like '_\_%';

排序查询

select 查询列表 from 表名 【where 筛选条件】 order by 排序列表 【asc升序/desc降序】;

常见函数
调用:select 函数名(实参列表)【from 表】
分类:单行函数,分组函数
字符函数
substr:截取从指定索引处后的所有字符

select substr (’字符串‘, 索引);

instr 返回字符串第一次出现的的索引

select instr(‘字符串‘,’要查询的字符串‘);

lpad用指定的字符实现左填充指定长度
rpad右填充

select lpad(’字符串‘,12,’as');

数学函数
round:四舍五入

select round(1.23);
select round(1.23,2);

ceil:向上取整
floor向下取整

select ceil(1.02);
select floor(1.02);

truncate:截断

select truncate(1.02, 1);

mod:取余;

select mod(10,3);
select 10%3;

日期函数
now返回当前系统该日期+时间

select now();

curdate:返回当前系统日期,不包含时间
curtime

select curdate();
select curtime();

流程控制函数
if 函数,if else的效果

select if(10<5, ’大‘, ’小‘);

case函数使用一
case 要判断的字段或者表达式 when 常量1 then 要显示的值1或者语句1;
case 要判断的字段或者表达式 when 常量1 then 要显示的值1或者语句1;

else 要显示的值n或者语句n;
end

select salary 原始工资, department——id,
case 30 then salary *1.1
case 40 then salary * 1.2
else salary
end as 新工资
from employees;

case函数使用二
case
when 条件1 then 要显示的值1
when 条件1 then 要显示的值2

else 要显示的值n或者语句n
end

select salary,
case 
when salary >20000 then 'a'
whtn salary >15000 then 'b'
else 'd'
end as 工资级别
from  employees;

分组函数
sum, avg, max,min,count

select sum(salary)from employees;

计算两个日期相差多少天

select datediff('2020-10-1', '1995-1-1')

分组查询group by
select 分组函数,列(要求出现在goup by的后面)
from 表
【where筛选条件】
group by
【order by 句子】;
注意:查询列表必须特殊,要求是分组函数和group by后出现的字段
例1:查询每个工种的最高工资,分组前的筛选

select max(salary), job_id from employees  group by job_id

查询那个部门的员工个数大于2 , 分组后筛选, 用having

select count(*),department_id 
from employees
group by 
having count(*)>2;

该部分仅为mySQL基础学习的一部分,还有很多知识需要学习,每天进步一点点

参考文献

Linux(Ubuntu)安装mysqlMySQL 基础+高级篇- 数据库 -sql -尚硅谷