1 数据导入: 把系统文件的内容保存到表里
例子:把系统用户信息保存到userdb库下的user表里
create database userdb;
create table userdb.user(
name char(10),
password char(1),
uid smallint(2),
gid smallint(2),
comment varchar(50),
homedir varchar(50),
shell char(30),
index(name)
);
mysql> LOAD DATA INFILE '文件名'
INTO TABLE 库名.表名
FIELDS TERMINATED BY '分隔符'
LINES TERMINATED BY '\n';
mysql>load data infile "/etc/passwd" into table userdb.user fields terminated by ":" lines terminated by "\n";
mysql> select * from userdb.user;
mysql> alter table userdb.user add id int(2) primary key auto_increment first;
mysql> select * from userdb.user;
2 数据导出 : 把表记录保存到系统文件里
mysql> sql查询 INTO OUTFILE '文件名';
mysql> sql查询 INTO OUTFILE ‘目录名/文件名';
mysql> sql查询 INTO OUTFILE ‘目录名/文件名' FIELDS TERMINATED BY '分隔符';
mysql> sql查询 INTO OUTFILE ‘目录名/文件名' FIELDS TERMINATED BY '分隔符' LINES TERMINATED BY '\n';
3 管理表记录(增 删 改 查)
3.1 插入表记录
插入1记录给所有列赋值
insert into 表名 values(值列表);
插入多条件记录添加给所有列赋值
insert into 表名 values(值列表),(值列表),(值列表);
插入1记录给指定列赋值
insert into 表名(字段名列表) values(值列表)
插入多记录给指定列赋值
insert into 表名(字段名列表) values(值列表),(值列表),(值列表);
3.2 查询表记录
看表中所有记录
select 字段名列表 from 库.表;
select * from 库.表;
select 字段名列表 from 库.表;
看表中所有记录指定记录
select 字段名列表 from 库.表 where 条件;
select * from 库.表 where 条件;;
select 字段名列表 from 库.表 where 条件;;
3.3 条件的表示方式(查询 修改 删除)
数值比较 > >= < <= = !=
字段名 符号 数值
字符比较 = !=
字段名 符号 "数值"
范围内查询
字段名 in (值列表) 在....里....
字段名 not in (值列表) 不在....里....
字段名 between 数值 and 数值 在...之间....
匹配空 is null
匹配非空 is not null
insert into user(id ,name)
values
(30,""),(31,"null"),(32,null),(33,NULL);
逻辑与 and 多个条件必须同时成立
逻辑或 or 多个条件某个条件成立就可以
逻辑非 ! 取反
DISTINCT 不显示重复值
四则运算 + - * / %
模糊匹配
select 字段名列表 from 表名 where 字段名 like '表达式';
表达式符号
_ 匹配任意一个字符
% 匹配零个或多个字符
select id,name from user where name like '%' having name="a";
select id,name from user where name like ‘__’ ;
select id,name from user where name like '_%_';
正则匹配
. * ^ $ [ ]
select 字段名列表 from 表名 where 字段名 regexp '正则表达式';
select name,uid from user where uid regexp '^..$';
select name,uid from user where name regexp '^r.*t$';
聚集函数
avg(字段名):集合的平均值
sum(字段名):对集合中的各参数求和
min(字段名):集合中的最小值
max(字段名):集合中的最大值
count(字段名):记录的个数
排序
SQL查询 order by 字段名 排序方式 ;
asc/desc
分组
SQL查询 group by 字段名;
在查询结构里过滤记录
SQL查询 having 条件;
限制显示记录行数
SQL查询 limit 数字;
SQL查询 limit 数字1,数字2;
数字1 表示显示的起始行
数字2 表示显示的总行数
3.4 修改记录字段的值
批量修改
update 库.表 set 字段名=值,字段名="值";
修改符合条件记录字段的值
update 库.表 set 字段名=值,字段名="值" where 条件;
3.5 删除表记录
delete from 库.表; 删除所有表记录
delete from 库.表 where 条件; 删除与条件匹配的表记录
复制表(1 快速建表 2 备份表)
create table 库.表 sql查询;
3.6 多表查询
3.6.1 where嵌套查询
select 字段名列表 from 库.表 where 条件 (select 字段名列表 from 库.表 where 条件);
3.6.2 多表查询
select 字段名列表 from 表名列表; //笛卡尔集
select 字段名列表 from 表名列表 where 条件;
3.6.3 连接查询
左连接 以左边的为主显示查询记录
select 字段名列表 from 表1 left join 表2 on 条件
右连接 以右边的为主显示查询记录
select 字段名列表 from 表1 right join 表2 on 条件 ;
修改表名?
alter table 源表名 rname [to] 新表名;
安装mysql图形管理管理工具(web页面 \ 图形 \ 命令行)
phpmyadmin mysql
navicat
#yum -y install httpd php php-mysql
#service httpd start ; chkconfig --level 35 httpd on
编写测试文件
访问测试文件
安装phpmyadmin
创建链接数据库配置文件
在客户端访问firefox http://192.168.4.15/phpmyadmin
+++++++++++++++++++++++++++++++++++