mysql初次使用(php操作)

警告:

装mysql和卸载mysql要小心谨慎,心塞啊

mysql基本概念

什么是数据库?

    数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据。我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

RDBMS即关系数据库管理系统(Relational Database Management System)的特点

  • 数据以表格的形式出现
  • 每行为各种记录名称
  • 每列为记录名称所对应的数据域
  • 许多的行和列组成一张表单
  • 若干的表单组成database

    术语

    数据库: 数据库是一些关联表的集合。.
    数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
    列: 一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。
    行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
    冗余:存储两倍数据,冗余可以使系统速度更快。
    主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
    外键:外键用于关联两个表。
    复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
    索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
    参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。

下载

https://www.mysql.com/downloads/

安装mysql

小心就好,注意选择utf-8,用户名和密码记住,path要添加到系统上去

MySQL数据库过程中常用的命令

USE 数据库名

选择要操作的MySQL数据库,使用该命令后所有MySQL命令都只针对该数据库。
mysql> use ly;
Database changed

show databases 数据库名

列出 MySQL 数据库管理系统的数据库列表
mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| RUNOOB             |
| cdcol              |
| mysql              |
| ly                 |
|                    |
+--------------------+

SHOW TABLES

    显示指定数据库的所有表,使用该命令前需要使用 use 命令来选择要操作的数据库
mysql> use RUNOOB;
Database changed
mysql> SHOW TABLES;
+------------------+
| Tables_in_runoob |
+------------------+
| employee_tbl     |
| runoob_tbl       |
| tcount_tbl       |
+------------------+

SHOW COLUMNS FROM 数据表

显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等其他信息。
mysql> SHOW COLUMNS FROM ly_table;

SHOW INDEX FROM 数据表

显示数据表的详细索引信息,包括PRIMARY KEY(主键)
mysql> SHOW INDEX FROM ly_table;

SHOW TABLE STATUS LIKE 数据表\G

 该命令将输出MySQL数据库管理系统的性能及统计信息
mysql> SHOW TABLE STATUS  FROM RUNOOB;   # 显示数据库 RUNOOB 中所有表的信息
mysql> SHOW TABLE STATUS from RUNOOB LIKE 'runoob%';     # 表名以runoob开头的表的信息
mysql> SHOW TABLE STATUS from RUNOOB LIKE 'runoob%'\G;   # 加上 \G,查询结果按列打印

php操作mysql

链接数据库

//连接数据库
     $conn=mysql_connect('localhost','root','123456');
    /*
     * 第一参数:地址  localhost代表本地
     * 第二参数:用户名     默认root
     *第三个参数:密码  123456
     *  */
     //判断是否链接
     if(!$conn){
        die('不能链接呀:'.mysql_error());
     }
     //关闭数据库链接
     mysql_close($conn);

操作数据库

创建数据库

1.mysql下创建数据库

    mysql> create database ly ;
    Query OK, 1 row affected (0.00 sec)

2.php创建数据库名,删除,选择

//设置字符集
header('Content-Type:text/html;charset="utf-8"');
 //创建数据库  mysql下:'create database 数据库名
     $sql='create database ly';
     $retval=mysql_query($sql,$conn);//1.sql语句2.链接对象
     if(!$retval){
        die('创建失败'.mysql_error());
     }

     //选择数据库  mysql下:use 数据库名
     $flag=mysql_select_db("ly",$conn);//1.选择的数据库2.连接对象
     if(!$flag){
        die('选择失败'.mysql_error());
     }

    //删除数据库 mysql下:drop database 数据库名
    $sql='drop database ly';
    $retval=mysql_query($sql,$conn);
    if(!$retval){
        die('删除数据库失败'.mysql_error());
     }

MySQL 数据类型

基本类型

日期和时间类型

这里写图片描述

字符串类型

这里写图片描述

操作数据表

mysql语法

mysql> use ly;
Database changed
mysql> CREATE TABLE w3cschool_tbl(
   -> ly_id INT NOT NULL AUTO_INCREMENT,
   -> ly_title VARCHAR(100) NOT NULL,
   -> ly_author VARCHAR(40) NOT NULL,
   -> submission_date DATE,
   -> PRIMARY KEY ( ly_id )
   -> );
Query OK, 0 rows affected (0.16 sec)
//创建表结构
     $sql="create table yueguang(".
     "yg_id tinyint not null auto_increment, ".
     "yg_title varchar(100) not null, ".
     "yg_atuhor varchar(40) not null, ".
     "sub_date DATE, ".
     "primary key (yg_id));";
     $retval=mysql_query($sql,$conn);
     if(!$retval){
        die('创建表失败'.mysql_error());
     }
 //删除表
    /*$sql='drop table yueguang';
    $retval=mysql_query($sql,$conn);
    if(!$retval){
        die('删除数据表失败'.mysql_error());
     }*/

mysql_query('SET NAMES UTF8');//设置字符集
$sql="create table yueguang(".
     "yg_id tinyint not null auto_increment, ".
     "yg_title varchar(100) not null, ".
     "yg_atuhor varchar(40) not null, ".
     "sub_date DATE, ".
     "primary key (yg_id));";
     $retval=mysql_query($sql,$conn);
     if(!$retval){
        die('删除数据库失败'.mysql_error());
     }
$sql='drop table yueguang';
    $retval=mysql_query($sql,$conn);
    if(!$retval){
        die('删除数据表失败'.mysql_error());
     }
$sql="insert into ly.yueguang(yg_title,yg_atuhor,sub_date) ".
     "values('从你的全世界路过','张嘉佳',NOW());";
     $retval=mysql_query($sql,$conn);
     if(!$retval){
        die('插入失败'.mysql_error());
     }
 //查询数据
     $sql="select yg_id,yg_title,yg_atuhor,sub_date ".
     "from ly.yueguang";
     $result=mysql_query($sql,$conn);
     if(!$result){
        die('查询失败'.mysql_error());
     }
     //mysql_fetch_array: 从结果集中取得一行作为关联数组,或数字数组,或二者兼有
     //1.结果集 2.可选参数

     //MYSQL_NUM 
     //print_r(mysql_fetch_array($result,MYSQL_NUM));
     //显示数字Array ( [0] => 1 [1] => 挪威森林 [2] => 村上春树 [3] => 2017-03-07 )
     //MYSQL_ASSOC
     //print_r(mysql_fetch_array($result,MYSQL_ASSOC));
     //显示属性:Array ( [yg_id] => 1 [yg_title] => 挪威森林 [yg_atuhor] => 村上春树 [sub_date] => 2017-03-07 )

     //MYSQL_BOTH  默认
    //print_r(mysql_fetch_array($result));
     //Array ( [0] => 1 [yg_id] => 1 [1] => 挪威森林 [yg_title] => 挪威森林 [2] => 村上春树 [yg_atuhor] => 村上春树 [3] => 2017-03-07 [sub_date] => 2017-03-07 )

     while($rows=mysql_fetch_array($result,MYSQL_ASSOC)){
        echo "我的id{$rows['yg_id']}:{$rows['yg_title']}:{$rows['yg_atuhor']}:{$rows['sub_date']} </br>";
     }
/*  我的id1:挪威森林:村上春树:2017-03-07 
    我的id2:我的太阳:我的:2017-03-07 
    我的id3:从你的全世界路过:张嘉佳:2017-03-07 */

各种查询方法

MySQL where 子句

//where
    $sql="select yg_id,yg_title,yg_atuhor,sub_date ".
     "from ly.yueguang where yg_id=2 ";
     $result=mysql_query($sql,$conn);
     if(!$result){
        die('查询失败'.mysql_error());
     }

    while($rows=mysql_fetch_array($result,MYSQL_ASSOC)){
        echo "我的id{$rows['yg_id']}:{$rows['yg_title']}:{$rows['yg_atuhor']}:{$rows['sub_date']} </br>";
     }
    //我的id2:我的太阳:我的:2017-03-07 
//updata更新数据
     $sql="update ly.yueguang set yg_title='我要太阳'".
     "where yg_id=2 ";
     $result=mysql_query($sql,$conn);
     if(!$result){
        die('更新失败'.mysql_error());
     }

     $sql="select yg_id,yg_title,yg_atuhor,sub_date ".
     "from ly.yueguang where yg_id=2 ";
     $result=mysql_query($sql,$conn);
     if(!$result){
        die('查询失败'.mysql_error());
     }

    while($rows=mysql_fetch_array($result,MYSQL_ASSOC)){
        echo "我的id{$rows['yg_id']}:{$rows['yg_title']}:{$rows['yg_atuhor']}:{$rows['sub_date']} </br>";
     }
//删除数据项
    $sql="delete from ly.yueguang where yg_id=2";
    $result=mysql_query($sql,$conn);
     if(!$result){
        die('删除数据项'.mysql_error());
     }
 //like匹配
     $sql="select * from ly.yueguang where yg_atuhor like '%村%'";
    $result=mysql_query($sql,$conn);
     if(!$result){
        die('查找数据项'.mysql_error());
     }
     while($rows=mysql_fetch_array($result,MYSQL_ASSOC)){
        echo "我的id{$rows['yg_id']}:{$rows['yg_title']}:{$rows['yg_atuhor']}:{$rows['sub_date']} </br>";
     }

     //我的id1:挪威森林:村上春树:2017-03-07 
//排序
      $sql="select * from ly.yueguang order by yg_id desc";
    $result=mysql_query($sql,$conn);
     if(!$result){
        die('查找数据项'.mysql_error());
     }
     while($rows=mysql_fetch_array($result,MYSQL_ASSOC)){
        echo "我的id{$rows['yg_id']}:{$rows['yg_title']}:{$rows['yg_atuhor']}:{$rows['sub_date']} </br>";
     }

     /*我的id5:你的孤独虽败犹荣:刘同:2017-03-07 
我的id4:摆渡人:佚名:2017-03-07 
我的id3:从你的全世界路过:张嘉佳:2017-03-07 
我的id1:挪威森林:村上春树:2017-03-07 */

desc降序
asc升序

小结

暂时就写到这里,对于登录验证应该是够了,以下是学习的网站
http://www.w3cschool.cn/mysql/mysql-group-by-statement.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值