一、基本知识
mysql安装:
Apt-get install MySQL-server
Apt-get install MySQL-client
启动服务
Sudo service mysql start
进入mysql
Mysql -u root -p
mysql查询
如果要取消可以输入\c
数据库操作
SHOW DATABASES;
CREATE DATABASE xxx;
USE xxx;
表操作
创建
CREATE TABLE xxx(
Xxx 类型(长度) 约束
)
描述表
DESCRIBE xxx
加载数据
LOAD DATA LOCAL INFILE '路径' INTO TABLE xxx;
如果是windows中的编辑器:
LOAD DATA LOCAL INFILE '路径' INTO TABLE xxx
LINES TERMINATED BY '\r\n';
插入数据
INSERT INTO XXX
(列名1,…)
VALUES(值1,…);
选择数据
SELECT 列名1,。。。
From 表名
WHERE 条件
SELECT DISTINCT 列名(改关键字让一样的信息之出现一次)
FROM 表名
ORDER BY 列名 (默认是升序)
ORDER BY 列名 DESC(降序)
修改数据
UPDATE 表明 SET 列=值 WHERE 条件
日期计算
计算差值
TIMESTAMPDIFF()
(YEAR(CURDATE()_-YEAR(birh))
计算真正的年龄
SELECT name, birth, CURDATE(),
(YEAR(CURDATE())-YEAR(birth))
- (RIGHT(CURDATE(),5)
FROM pet;
NULL值的操作
IS NULL
IS NOT NULL
模式匹配
关键词:LIKE(NOT LIKE)
_:表示任意一个字符
%:表示任意多个字符
正则匹配
关键词REGEXP(NOT REGEXP)或者是RLIKE(NOT RLIKE)
. 任意单个字符
[..] 括号内的字符([abc] abc中的一个 [a-z] 小写字母 [0-9] 数字)
" " 匹配零个或者多个其中的字符
^ 开头
$ 结尾
BINARY 区分大小写
{n} 重复n次
只要正则表达式出现在了值的任何地方就会被匹配
'w' 可以匹配所有包含w的值
计算行数
COUNT(*)
GROUP BY 某个值
好例子:
SELECT species, sex, COUNT(*) FROM pet
WHERE species= 'dog' OR species ='cat'
GROUP BY species, sex
跨越表的查询
1、frome 表1,表2…
2、where 中要指定 表的连接方式
3、列名的表示方式表名.列名
二、实验
创建数据库
create database test
use test
##创建表
CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20), -> species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);
##修改权限
exit
mysql -u root --local-infile=1
##导入数据
可以用git下载我的版本xxs
LOAD DATA LOCAL INFILE 'home/shiyanlou/Code/shiyanlou_cs28/pet.txt'
##使用update命令
update pet set sex='f' where name='Whister';
然后就可以把实验中命令自己测试一下
javascript:;