我的Linux生涯之Mysql:Day03[Mysql的表操作]

数据导入(把文件的内容放到数据库的表里)
把/etc/passwd文件的内容保存到数据库服务器userdb库的userlist表里。
1、创建存放数据的表。
添加id这个字段放在第一个加个Index并自动增长。。

2、导入数据命令格式:
load data infile “要导入的文件绝对路径” into table “要导入的表名”
fileds terminated by ":" //每一个字段的分割符
lines terminat by "\n"; //每行的分割符

数据导出(把数据库里的记录保存系统里)
表记录的增删改查
导出数据的格式
SQL 查询语句 into outfile "文件名"
fields terminated by "字段间隔符"
lines terminated by "\n";

//不指定导出目录所在位置时,则默认存放在与表文件所在的目录。
把数据库服务器userdb库的userlist表里的所有记录保存的系统/mysqlbak/userlist.txt
//mysql用户要对/mysqlbak目录写的权限。


表记录的基本操作
查(select)
select 字段名列表  from 表名;
select 字段名列表  from 表名 where 条件表达式;

条件表达式(适用于select delete update)
比较符号
等于:
//mysql> delete from userlist01 where id=1;
不等于:
//mysql> delete from userlist01 where id!=1;
可用符号:
//mysql> delete from userlist01 where id=1;
//mysql> delete from userlist01 where id!=1;
//mysql> delete from userlist01 where id>1;
//mysql> delete from userlist01 where id>=1;
//mysql> delete from userlist01 where id<1;
//mysql> delete from userlist01 where id<=1;
between.....and  //指定范围
//mysql> select username,useruid,homedir from userlist where useruid between 30 and 40;
in //在...里
//mysql> select * from userlist where username in ("root","bin","admin");
not in //不在...里
//mysql> select * from userlist where username not in ("root","bin","admin");
is null //值为空
//mysql> select * from userlist  where shell is null;
is not null //值不为空
//mysql> select * from userlist  where shell is not null;
distinct   //不显示字段重复值
//mysql> select distinct shell from userlist;
逻辑匹配(多个条件时,使用逻辑匹配)
逻辑与(多个条件要同时成立时,使用逻辑与)
//mysql> select * from userlist where username="root" and useruid=0;
逻辑或(多个查询条件时只要有一个条件匹配就可以。)
//mysql> select * from userlist where username="root" or useruid=1;
//mysql> select * from userlist where username="root" or useruid=10 or shell="/bin/bash";
as //给计算后的值起一个字段名
四则运算:
+  加
-  减
*  乘
/  除
%  取余
//mysql> select username,2014-useruid as age from userlist;  
//mysql> select username,(useruid+usergid) from userlist;
//mysql> select username,(useruid*usergid) from userlist;
//mysql> select username,(useruid/usergid) from userlist;
正则表达式(regexp)
.      //表示一个匹配字符
*      //匹配任意字符      
^      //以什么开关的字符
$      //以什么结尾的字段
[]     匹配范围内
//正则表达之前要加上regexp
模糊查询
%    匹配0个到N个字符
//mysql> select * from userlist where username like "a%";
_    匹配一个字符
//模糊查询之前要加上like
//mysql> select * from userlist where username like "roo_";
//mysql> select * from userlist where useruid="1_";
//mysql> select username from userlist where username like "_o__";


分组和排序
order by [asc/desc] [升序(从小到大)/降序(从大到小)] 排序
//mysql> select username,useruid from userlist order by useruid asc;
//mysql> select username,useruid from userlist order by useruid desc;
group by 分组
//mysql> select shell from userlist group by shell;
//下面两个一样的效果。
//mysql> select useruid,shell from userlist where useruid<=10 group by shell ;
//mysql> select useruid,shell from userlist  group by shell having useruid<=10;
limit N /N,M  //指定显示记录条目数 默认是从第一条开始显示。
N 表示从第几条记录开始显示,默认从第1条开始显示,如果从第一条记录开始显示N的值可以省略
M 表示显示几条记录
limit 0,5 从第一条记录开始显示,显示5条。
limit 5,5 从第5条记录开始显示,显示5条。
//mysql> select username,useruid from userlist order by useruid desc limit 5; 
显示5行,默认是从1开始
//mysql> select username,useruid from userlist order by useruid desc limit 10,5;
//显示5行,从第10行开始
//mysql> select id,username,useruid from userlist order by id limit 10,1;
//显示1行,从第10行开始
函数
avg() 平均值
//()表示要统计的字段名
sum() 求和
min() 最小值
max() 最大值
count()  统计记录的条目数
//mysql>  select sum(useruid) as uid from userlist;
count(*)
//空,是不统计的。
//且,有值优先!
//mysql> select count(*) as gril from yangongdb where gender="gril";
增(insert)
改(update)
update TABLENAME set 字段名=新值, 字段名=值 [where条件表达式]
更新表记录
//mysql> update userlist set username="root1" where username="root"
//匹配条件username="root"的记录值更新为"root1"
//如要批量修改则不须加条件。
//数值类型不用加“”

//mysql>  update userlist set username="name" where id="4";
删(delete)
//mysql> delete from newuser;
//mysql> delete from userlist where username="ftp";
//mysql> create table test select * from userlist where id<10;

嵌套查询
//查询的源是上一个查询的结果里查询。

【左连接查询 右连接查询 视图 触发器 存储过程 游标】

 


 

 

你可能感兴趣的:(数据库,linux,服务器,用户,记录)