Ubuntu 16.04 + MySQL开发环境,本篇涉及内容
- 安装、测试
- 查看、搜索
- 通配符
1.MySQL
1.1.安装及测试
sudo apt-get install mysql-server
sudo apt isntall mysql-client
sudo apt install libmysqlclient-dev
#测试是否成功
sudo netstat -tap | grep mysql
连接
mysql -u root -p
#密码默认为 root
查看数据库
show databases;
use mysql
导入数据库示例,我们将yiibaidb 导入mysql,下载链接: https://pan.baidu.com/s/1dFvqt7z 密码: drnb,解压到临时文件夹后,得到 yiibaidb.sql 文件,此时连接并创建数据库
#创建数据库yiibaidb
CREATE DATABASE IF NOT EXISTS yiibaidb DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#使用yiibaidb
use yiibaidb;
#导入数据
source /home/mote/Downloads/yiibaidb.sql;
#运行结果如下
测试导入结果
#查看表
show tables;
1.2.语法指令学习
select
SELECT语句允许通过在SELECT子句中指定逗号分隔列的列表来查询表的部分数据。 例如,如果要仅查看员工的名字,姓氏和职位,请使用以下查询:
select lastname,firstname,jobtitle from employees;
如果要获取employees表中所有列的数据,可以列出SELECT子句中的所有列名,或者只需使用星号(*)表示您想要从表的所有列获取数据,如下查询:
select * from employees;
where
where子句允许根据指定的过滤表达式或条件来指定要选择的行,起到过滤筛选作用。
筛选所有销售人员的行
select lastname,firstname,jobtitle from employees where jobtitle = 'Sales Rep';
所有筛选人员中办公代码为1的行
select lastname,firstname,jobtitle from employees where jobtitle = 'Sales Rep' and officeCode = 1;
下表列出了可用于在WHERE子句中形成过滤表达式的比较运算符
between
在products 表中,查看价格在90-100的商品数据
select productCode,productName,buyPrice from products where buyPrice between 90 and 100;
要查找购买价格不在20到100(含20到100)之间的产品,可将BETWEEN运算符与NOT运算符组合使用,如下:
select productCode,productName,buyPrice from products where buyPrice not between 20 and 100;
MySQL BETWEEN与日期类型数据示例
当使用BETWEEN运算符与日期类型值时,要获得最佳结果,应该使用类型转换将列或表达式的类型显式转换为DATE类型。
例如,要查询获取所需日期(requiredDate)从2013-01-01到2013-01-31的所有订单,请使用以下查询:
SELECT orderNumber,
requiredDate,
status
FROM orders
WHERE requireddate
BETWEEN CAST('2013-01-01' AS DATE)
AND CAST('2013-01-31' AS DATE);
因为requiredDate列的数据类型是DATE,所以我们使用转换运算符将文字字符串“2013-01-01”
和“2013-12-31”
转换为DATE数据类型。至此掌握 between 运算符来测试值是否在值的范围内。
like
LIKE操作符通常用于基于模式查询选择数据。以正确的方式使用LIKE运算符对于增加/减少查询性能至关重要。
LIKE操作符允许您根据指定的模式从表中查询选择数据。 因此,LIKE运算符通常用在SELECT语句的WHERE子句中。MySQL提供两个通配符,用于与LIKE运算符一起使用,它们分别是:百分比符号 - %和下划线 - _。
- 百分比(%)通配符允许匹配任何字符串的零个或多个字符。
- 下划线(_)通配符允许匹配任何单个字符。
like使用百分比(%)通配符
假设要搜索名字以字符a开头的员工信息,可以在模式末尾使用百分比通配符(%),如下所示:
select employeeNumber, lastName, firstName from employees where firstName like 'a%';
MySQL将扫描整个employees表以找到每个其名字以字符a开头,后跟任意数量的字符的员工信息。
like带下划线(_)通配符
要查找名字以T开头的员工,以m结尾,并且包含例如Tom,Tim之间的任何单个字符,可以使用下划线通配符来构建模式,如下所示:
select employeeNumber, lastName, firstName from employees where firstName like 'T_m';
select employeeNumber, lastName, firstName from employees where firstName like 'a__n';
注: 单个下划线(_)代表一个字符
当然也可以结合NOT 运算符进行组合使用
待续。。。。。。