mysql客户端操作服务器大致步骤
1. 连接数据库服务器
mysql.exe -hlocalhost -uroot -proot
2. 选择数据库
use db_name;
3. 设置字符集
set names gbk;
在mysql客户端只能用gbk,若是网页设置的话,可以设置urt8
4. 执行sql语句,对数据表进行“增删改查”
增加:INSERT INTO table_name(字段1,字段2) VALUES(值1,值2)
字段与值的类型要一致!数量也要一一对应!
删除:DELETE FROM table_name [WHERE 条件]
删除整个表记录:TRUNCATE table_name
修改:UPDATE table_name SET 字段1=值1 字段2=值2 [WHERE 条件]
查询:SELECT 字段列表|* FROM table_name [WHERE 条件] [ORDER BY 字段] [LIMIT 限定记录]
PHP操作mysql服务器
1.连接mysql服务器 mysql_connect()
语法结构:
$link=mysql_connect($db_host,$db_user,$db_pwd)
参数说明:
$db_host 指定要连接的数据库服务器地址,如localhost:3306(默认是3306,实际可以修改)
$db_user 数据库用户名
$db_pwd 数据库密码
返回值:
连接成功,返回资源标识符,连接失败,返回false
举例:
$link=mysql_connect("localhost","root","root");
注意:资源类型的数据,转为布尔值,一律为true,换句话说,就是连接成功了,才会返回资源标识符,才会为true。
为了更安全,屏蔽PHP的错误显示:
$link=@mysql_connect("localhost123","root","root");
2.选择数据库mysql_select_db()
语法结构:
bool mysql_select_db(string $db_name[,resource $link_identifier])
返回值:
成功返回true,失败返回false
参数说明:
$db_name 数据库名称
[$link_identifier] 可选项,指定当前活动连接标识符,只有一个;如果省略,则使用上一次连接数据库的标识符
举例:
mysql_select_db("messageBoard",$link);
练习代码:
<?php
#设置输出文字编码,否则网页显示乱码
header("Content-Type: text/html; charset=utf-8");
#连接数据库服务器
$db_host="localhost";
$db_user="root";
$db_pwd="root";
#这里的@是防止连接失败报错,被黑客发现敏感信息
$link=@mysql_connect($db_host,$db_user,$db_pwd);
if($link){
print("数据库服务器连接成功!");
#选择数据库
if(mysql_select_db("messageBoard",$link)){
print("messageBoard数据库选择成功");
}
else{
print("messageBoard数据库选择失败");
#既然选择失败了,那么后面的程序也没有执行的必要了,要安全编程!
exit("请检查数据库选择失败的原因");
}
}
else{
print('数据库服务器连接失败').mysql_error();
#同理,数据库连接失败了,后面程序也不用运行了
exit();
}
?>
3.设置返回数据字符集
mysql_query("set names utf8"); 防止乱码
4. sql 语句操作
语法:
resource mysql_query(string $query[,resource $link_identifier=Null])
返回值
如果执行 SELECT | SHOW | DESCRIBE 等语句成功,返回资源标识符,否则返回false
其他SQL语句(DELETE | UPDATE | INSERT)等执行成功返回true,失败返回false
举例
$sql="CREATE DATABASE IF NOT EXISTS db_name";
$sql="SELECT * FROM table_name WHERE id<100";
mysql_query($sql);
权限问题
无论哪个用户,要想执行sql语句,那么必须要有相应的权限!超级管理员拥有全部权限,普通管理员、用户的权限,超级管理员都可以分配。在phpMyadmin中超级管理员就可以查看并设置所有数据库用户的权限。
一般,普通管理员,用户,都有增删改查的权限,再高的权限,一般不给了,否则就可能干掉整个数据库。