MYSQL 的一些基本操作
首先进入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,既有条理又方便。
以上是关于mysql数据库的一些基本的操作,写的比较简单,可能有些错误,还望大家指正。谢谢!!!