探寻数据库
mysql命令行操作小结
感觉这些知识又快忘记了
- 登陆
mysql -u root -p - 创建数据库
create database databasename - 删除数据库
drop database databasename - 从外部sql文件导入,如果sql文件中没有创建数据库需要先指定一个数据库然后
source path/*.sql就可以导入了,再也不用受烦人的phpmyadmin影响了 - 删除数据表
drop table table_name - 导出表
mysqldump -u root -p RUNOOB runoob_tbl > dump.txt - 导出数据库
mysqldump -u root -p RUNOOB > database_dump.txt - 备份所有数据库
mysqldump -u root -p --all-databases > database_dump.txt
一般sql文件的写法:
drop database if exists DBName;
creat database DBName;
use DBName;
#开始创建表
create ......
#开始插入数据
insert....
使用pymysql连接数据库
import pymsql
con = pymysql.connect('localhost', 'root', '', 'mpsa')
try:
with con.cursor() as cursor:
sql = 'drop database runoob'
cursor.execute(sql)
con.commit()
finally:
con.close()
那个cursor函数我也不是很明白为什么,不过一般的用法就是这样啦
php连接数据库
使用php连接数据库,创建数据库,然后删除
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(!$conn){
die("error!!");
}
echo "连接成功";
//查询数据
$sql = "create database runoob";
$retval = mysqli_query($conn, $sql);
if(!$retval){
die("查询数据失败!");
}
echo "创建成功";
$sql1 = "drop database runoob";
$retval = mysqli_query($conn, $sql);
mysqli_close($conn);
遇到了问题:

查了一下stackoverflow
看到了这个回答:
The mysqli->connect_error property only works properly as of PHP versions 5.2.9 and 5.3.0. Use the mysqli_connect_error() function if compatibility with earlier PHP versions is required.
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');
/*
* This is the "official" OO way to do it,
* BUT $connect_error was broken until PHP 5.2.9 and 5.3.0.
*/
if ($mysqli->connect_error) {
die('Connect Error (' . $mysqli->connect_errno . ') '
. $mysqli->connect_error);
}
/*
* Use this instead of $connect_error if you need to ensure
* compatibility with PHP versions prior to 5.2.9 and 5.3.0.
*/
if (mysqli_connect_error()) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
原来是建立过程中的不稳定,怪不得我新建的数据库没有被删掉.