MySQL 的一些基本操作

作者:welefen 


首先进入MySQL 的编辑环境:
一、基本应用
1、显示MySQL 的版本,当前日期
MySQL > select version(),current_date;
2、利用MySQL 来计算md5 加密,计算一些数值
MySQL > select md5(‘welefen’),sin(pi()/4);//加密字符串welefen;执行sin( );
3、显示用户下所有的数据库;
MySQL > show databases;
4、显示某个数据库下所有的数据表
MySQL > use welefen;
MySQL > show tables;
5、显示某个数据表中所有的字段;
MySQL > describe userinfo;//显示userinfo 表中所有的字段
6、向数据表userinfo 中插入数据
MySQL > set character_set_client=’gb2312’;//设置字符的编码,如果不设置的话,极有可能会出现
乱码的情况;
现在假设我们有一条要插入到数据库中,例如:
姓名:张三;密码:zhangsan;Email:zhangsan@gmail.com;出生日期:1986 年10 月
12 日;地址:武汉市武汉科技大学学四舍;qq:86503236;
Myslq > insert into userinfo values (1,’ 张三’, md5(‘zhangsan’),’
zhangsan@gmail.com’, ’1986-10-12’,’武汉市武汉科技大学学四舍’,86503236);
下面我们来看看我们刚才插入的数据正确;
7、从数据表中取数据
(1)取出所有的数据;
MySQL > select * from userinfo;
(2)取出符合条件的数据
假如现在我要取出姓名为李四的信息
MySQL > select * from userinfo where us_name=’李四’;
(3)取出符合条件的数据的一些信息
假如现在我们要取出出生日期为1986-10-12 的姓名和地址
Myslq > select us_name,us_address from userinfo where us_born=’1986-10-12’;
(4)其他信息:例如我们想知道用户现在是多少岁了
MySQL > select
us_name,(year(curdate())-year(us_born))-(right(curdate,5)-right(us_born,5))
as age from userinfo;
(5)查询结果排序,只显示从什么位置到什么位置的结果(结果请大家根据自己的查看,这
里就不显示了)
MySQL > select us_name,(year(curdate())-year(us_born))-(right(curdate,5)-right(us_born,5)) as age from
userinfo order by age asc limit 0,2;
(6)模糊查询,通过使用like 或者用regexp
MySQL > select * from userinfo where us_address like ‘%武%’;//或者用regexp ‘武’
8、更新数据库中的数据
MySQL > update userinfo set us_passwd=md5(‘zhangsan1’),us_born=’2006-5-20’ where
us_name=’张三’;
9、删除数据表中的数据
MySQL > delete from userinfo where us_name=’张三’;
10、删除整个数据表
MySQL > drop table welefen;
11、删除整个数据库
MySQL > drop database welefen;
二、高级应用
1.1、创建用户//创建一个用户名为welefen 密码为welefen 的用户
MySQL > grant all
> on *
> to welefen identified by ‘welefen’
> with grant option;
1.2、将文件中的数据插入到数据表中
MySQL > load data local infile ‘E:/php/welefen.sql’ into table userinfo
> lines terminated by ‘\r\n’;
(或者用source E:/php/welefen.sql,这是将数据导入到整个数据库中)
2.1、通过工具来实现一些应用
PHPMyadmin 是一个很方便地对MySQL 进行操作的脚本,它能够创建数据库,数据表
等。配置它也是相当的简单,只要将class.inc.php 里的用户名和密码改成有效的就可以了。
3.1、通过PHP 脚本来进行数据的导入

代码片段
<?php
if (file_exists("db.sql"))//检查这个文件是否存在,存在的话才执行下一步
{
$file=file_get_contents("db.sql");//打开这个文件,并把内容作为一个字符船返回
$sql=explode(';',$file);//通过分号将字符串分成一个数组
$num=count($sql);
MySQL_connect("localhost","root","passwd");//数据库连接
for ($i=0;$i<$num;$i++){
$result=@MySQL_query($sql[$i]);
if (!$result) {echo “failure.”;exit;}
}
}
这个脚本是相当简单的,如果你紧紧想把数据导入到数据库,我想这样就已经足够了,
当然如果你做的是一些大的项目,可能在此基础上有些修改。如果你有什么比较好的建议,
希望你回馈给我,我也只是新手,也还要大量的学习,希望多交流。
3.2、通过PHP 脚本进行数据的备份
代码片段
<?php
MySQL_connect("localhost",'root','welefen');//数据库连接
MySQL_select_db('welefen');//选择数据库
$query='show tables';//显示该数据库下所有的数据表
$query=MySQL_query($query);//执行查询语句
while($re=MySQL_fetch_row($query)){
$str='drop table if exists '.$re[0].';<br>';
echo $str;
$query1="show create table ".$re[0];//显示该数据表的结构
$query1=MySQL_query($query1);
$re2=MySQL_fetch_row($query1);
echo $re2[1].';';
$query8="select * from ".$re[0];//查询所有的数据
$query8=MySQL_query($query8);
$str1="insert into ".$re[0].'values(';
while ($re1=MySQL_fetch_row($query8)){
$num=count($re1);
for ($i=0;$i<$num;$i++){
$str1.= $re1[$i].',';
}
$str1.=');';
}
echo $str1.'<br>';
}
?>
这个脚本只是简单的说明了备份数据库的过程,不过在真正做项目的时候,最好将备份写成class,既有条理又方便。