phpMyAdmin 操作本地数据库 登录 新建 输入数据库名称 排序规则 utf8-bin 创建 导入 选择SQL文件 打开 执行
Navicat
MySQL的图形化管理工具
Navicat中文版的安装
http://pan.baidu.com/s/1Eta1K
附带破解机
注意,要使用Navicat必须先给MySQL设置密码
小编采用的是WAMP环境,建议读者朋友使用
设置MySQL的密码
WAMP上打开phpMyAdmin
用户 root 密码 不写 回车
用户账户
修改权限
修改密码 123456
打开 C:wamp64appsphpmyadmin4.5.5.1config.inc.php
修改 $cfg['Servers'][$i]['password'] = '123456';
重启服务
如需要,重置MySQL密码:
在文件【my.ini】的【mysqlId】字段最下面加入【skip-grant-tables】,重启mysql服务
再进入mysql控制台按照上面第二种改密码的方式重新修改密码。
改完密码后将【my.ini】中添加的【skip-grant-tables】删掉。
重新启动服务
数据库Database
按照数据结构来组织、存储、管理数据的仓库
MySQL
关系型数据库管理系统RDBMS(Relational Database Management System )之一
参考教程 http://www.runoob.com/mysql/mysql-tutorial.html
关系型数据库特点
数据以表格的形式出现
每行为各种记录名称
每列为记录名称所对应的数据域
许多的行和列组成一张表单
若干的表单组成database
Mysql的特点
开源的,不需要支付额外的费用
支持大型的数据库。支持5000万条记录的数据仓库,32位系统表文件最大可支持4GB,64位系统支持最大的表文件为8TB
使用标准的SQL数据语言形式
允许运行于多种系统上,并且支持多种语言,对PHP有很好的支持
可以定制Mysql,采用了GPL协议
WAMP登录mySQL终端
输入密码 进入mysql
exit 退出mysql
SHOW DATABASES; 显示所有的数据库
USE 数据库名; 针对某数据库
SHOW TABLES; 显示所有的表
SHOW COLUMNS FROM 数据表名; 显示属性、属性类型、是否NULL、是否主键、默认值
SHOW INDEX FROM 数据表名; 显示数据表的详细索引信息
SHOW TABLE STATUS FROM 数据表名 LIKE '开头文字%'G;
按列打印表名开头是某的所有表的信息
字段的数据类型
三大类:数值类 时间类 字符串类
严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC)
近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)
数值类数据 
日期类数据

字符串类数据

PHP来操作Mysql
做为一名伟大的前端开发人员,我们通常使用php来操作数据库
<html>
<head>
<meta charset="utf-8">
<title>Mysql数据库</title>
</head>
<body>
<?php
/*mysql服务器主机地址*/
$host = 'localhost:3306';
/*mysql用户名*/
$user = 'root';
/*mysql用户名密码*/
$password = '123456';
/*连接数据库并返回结果*/
$connectResult = @mysql_connect($host, $user, $password, "特殊标记", MYSQL_CLIENT_COMPRESS);
if(! $connectResult ) {
die('数据库连接失败:' . mysql_error());
}
echo '数据库连接成功~';
/*删除数据库*/
$deleatDBSQL = 'DROP DATABASE WeWeZhang';
mysql_query( $deleatDBSQL, $connectResult );
/*创建数据库并返回结果*/
$newDBSQL = 'CREATE DATABASE WeWeZhang';
$newDBResult = mysql_query( $newDBSQL, $connectResult );
if(! $newDBResult ) {
die('创建数据库失败: ' . mysql_error());
}
echo '数据库创建成功~';
/*选择要操作的数据库*/
$selectDBResult = mysql_select_db( 'WeWeZhang',$connectResult);
if(! $selectDBResult) {
die('选择数据库失败: ' . mysql_error());
}
echo '数据库选择成功~';
/*建表*/
$newTBClassSQL =
"CREATE TABLE IF NOT EXISTS t_class( ".
"class_id INT NOT NULL AUTO_INCREMENT, ".
"class_title VARCHAR(100) NOT NULL, ".
"class_author VARCHAR(40) NOT NULL, ".
"class_date DATE, ".
"PRIMARY KEY ( class_id ) ".
")";
$newTBClassResult = mysql_query( $newTBClassSQL, $connectResult );
if(! $newTBClassResult )
{
die('数据表创建失败: ' . mysql_error());
}
echo "数据表创建成功~";
/*插入数据*/
$insertSQL =
"INSERT INTO t_class ".
"(class_title,class_author,class_date) ".
"VALUES".
"('小六','喝酒',NOW())";
$insertResult = mysql_query( $insertSQL, $connectResult );
if(! $insertResult ) {
die('数据插入失败 ' . mysql_error());
}
echo "数据插入成功~";
// /*删表*/
// $deleatTBClassSQL = "DROP TABLE IF EXISTS t_class ";
// $deleatTBClassResult = mysql_query( $deleatTBClassSQL, $connectResult );
// if(! $deleatTBClassResult ) {
// die('数据表删除失败: ' . mysql_error());
// }
// echo "数据表删除成功~";
//
// /*删除数据库并返回结果*/
// $deleatDBResult = mysql_query( $deleatDBSQL, $connectResult );
// if(! $deleatDBResult ) {
// die('删除数据库失败: ' . mysql_error());
// }
// echo '数据库删除成功~';
/*关闭数据库并返回结果*/
if(!mysql_close($connectResult)){
die('数据库关闭失败: ' . mysql_error());
}
echo '数据库关闭成功~';
?>
</body>
</html>
查
MYSQL_NUM 作为PHP mysql_fetch_array()函数的第二个参数,返回数字数组
$selectSQL =
"SELECT runoob_id, runoob_title, runoob_author, submission_date ".
"FROM runoob_tbl";
$selectResult = mysql_query( $selectSQL, $connectResult );
if(! $selectResult )
{
die('数据查询失败 ' . mysql_error());
}
while($row = mysql_fetch_array($selectResult, MYSQL_ASSOC))
{
echo "Tutorial ID :{$row['runoob_id']} <br> ".
"Title: {$row['runoob_title']} <br> ".
"Author: {$row['runoob_author']} <br> ".
"Submission Date : {$row['submission_date']} <br> ".
"--------------------------------<br>";
}
echo "数据查询成功";
内存释放
在我们执行完SELECT语句后,释放游标内存是一个很好的习惯。 。可以通过PHP函数mysql_free_result()来实现内存的释放。
sql
Structured Query Language
结构化查询语言
表内字段的数据类型:
blob 二进制型
integer 整型
real 符点型
text 字符串
varchar(10) 10字符
建表语句: create table if not exist 表名 (字段1 字段1类型,字段2 字段2类型,...);
删表语句: drop table if not exist 表名;
约束直接放在字段类型后面,起修饰作用
简单约束
NOT NULL 字段值不可为空
UNIQUE 字段值唯一,不可重复
DEFAULT 某值 字段值默认为某值
主键约束
PRIMARY KEY 主键约束
AUTOINCREMENT 自动增长约束
PRIMARY KEY AUTOINCREMENT 主键自动增长约束
外键约束
CONSTRAINT 外键名 FOREIGN KEY (外键字段) REFERENCES 外表名(外键字段)
插入数据语句: INSERT INTO 表名 (字段1 ,字段2 ,...) VALUES (值1 ,值2 ,...);
修改数据语句: UPDATE 表名 SET 字段1 = 字段1的值, 字段2 = 字段2的值 ,...;
删除数据语句: DELETE From 表名;
SELECT 字段1,字段2,... FROM 表名;
SELECT * FROM 表名;
内连接:
SELECT * FROM 表名 表别名,外键表名 外键表别名 WHERE 表别名.需加外键字段 = 外键表别名.id AND ...;
SELECT * FROM 表名 INNER JOIN 外键表名 ON 表别名.需加外键字段 = 外键表别名.id AND ...;
左外连接:
SELECT * FROM 表名 表别名 LEFT OUTER JOIN 外键表名 外键表别名 ON 表别名.需加外键字段 = 外键表别名.id AND...;
起别名:
SELECT 字段1 别名1,字段2 别名2,... FROM 表名;
SELECT 字段1AS别名1,字段2AS别名2,... FROM 表名AS表别名;
SELECT 表别名.字段1,表别名.字段2,... FROM 表名 表别名;
查询记录的个数:
SELECT count(*) FROM 表名 WHERE 某条件;
SELECT count(某字段) FROM 表名 WHERE 某条件;
条件语句:
单行数据
WHERE 某字段 = 某值;
WHERE 某字段 IS 某值;
WHERE 某字段 != 某值;
WHERE 某字段 IS NOT 某值;
多行数据
WHERE 某字段 > 某值;
WHERE 某字段 >= 某值;
WHERE 某字段1 = 某值 AND 某字段2 > 某值;
WHERE 某字段1 = 某值 OR 某字段2 > 某值;
排序语句:
升序
SELECT * FROM t_表名 ORDER BY 字段1 ASC,字段2 ASC,...;
降序
SELECT * FROM t_表名 ORDER BY 字段 DESC,字段2 DESC,...;
限行语法:
SELECT * FROM t_表名 LIMIT 跳过最前面的几行,再查寻几行;
372526196509223017
372526196603193029
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库