一.mysql安装与管理
tar 解包的命令
tar xvf 包文件名称
tar 打包的命令
tar cvf 要打包的文件名称
rpm卸载命令
rpm -e 包名称
rpm -e 包名称 --nodeps 强行卸载,不检查包的依赖关系
rpm安装包命令
rpm -ivh 包名称
二.字符集
1、首先操作系统的字符集为utf8
查看操作系统字符集命令
locale
2、创建数据库的时候使用CHARACTER SET utf8;指定字符集为utf8
3、设置mysql client字符集
SET NAMES utf8;
4、CRT设置为utf8
三.sql语言
SQL语言当中字符串用单引号。
查询年龄大于21岁的同学
SELECT * FROM table1 WHERE age > 21;
查询C++班所有同学
SELECT * FROM table1 WHERE class = 'C++班';
查询C++班所有同学并且年龄大于22
SELECT * FROM table1 WHERE class = 'C++班' AND age > 22;
查询所有姓王的同学
SELECT * FROM table1 WHERE name LIKE '王%';
windows中加入path环境变量
C:\mysql\lib;C:\mysql\bin
mysql端口号3306,要在linux中将3306端口加入到防火墙的信任端口列表中
DISTINCT代表过滤重复的值
聚合函数往往是与group by字句配合使用的
查找苍老师班里面年龄最大同学的名字
select a.name from table1 a, table3 b where a.class = b.class and b.teacher = '苍老师'
and a.age = (select max(c.age) from table1 c, table3 d where c.class = d.class and d.teacher = '苍
老师');
在select语句中where查询用到哪个字段,这个字段就必须建立索引
唯一索引的查询效率高于普通索引
建立表的时候PRIMARY KEY (ID))语句相当于为ID字段建立了一个唯一索引
四.操作数据库
登陆
mysql -u root -p
登录远程mysql server的方式
mysql -h IP地址 -u 用户名 -p
使用数据库
use db1;
设置字符集
set names utf8;
查看表结构
desc table1;
插入数据:
INSERT INTO table1 (name, sex, age, class) VALUES ('张三', '男', 24, '0802班');
查询数据:
SELECT * FROM table1;
执行sql脚本
source my.sql
--my.sql-------------------
INSERT INTO table1 (name, sex, age, class) VALUES ('小王', '女', 25, 'C++班'); INSERT INTO table1 (name, sex, age, class) VALUES ('小李', '男', 22, 'C++班'); INSERT INTO table1 (name, sex, age, class) VALUES ('小张', '男', 26, 'JAVA班'); INSERT INTO table1 (name, sex, age, class) VALUES ('王麻子', '女', 25, 'C++班'); INSERT INTO table1 (name, sex, age, class) VALUES ('张公公', '男', 24, 'PHP班'); INSERT INTO table1 (name, sex, age, class) VALUES ('小龙女', '女', 23, 'C++班');