操作MySQL数据库

一、常用SQL语句

  1.数据定义语言(DDL)

    ①create

      ✎创建数据库:create database 数据库名

      ✎创建表:create table 表名(id int primary key auto_increment,name varchar(20))

    ②drop

      ✎删除数据库:drop database 数据库名

      ✎删除表:drop table 表名

    ③alter

      ✎修改表名:alter table 表名 rename 新表名

      ✎删除列:alter table 表名 drop 列名

      ✎增加列:alter table 表名 add 列名 int not null

      ✎重命名列和修改列信息:alter table 表名 change 列名 新列名 bigint not null

  2.数据操作语言(DML)

    ①insert

      ✎insert into 表名 (字段1,字段2,...) values(值1,值2,...)

      ✎insert into 表名 values(值1,值2,...)

      ✎insert into 表名 set 字段1=值1,字段2=值2,...

    ②update

      ✎update 表名 set 字段1=值1,字段2=值2,... where 条件

    ③delete

      ✎删除一条或几条记录:delete from 表名 where 条件

  3.数据查询语言(DQL)

    ①select

      ✎select 函数(字段) from 表名:

        select sum(字段名) from 表名            计算字段名中所有数据的和

        select count(字段名) from 表名     字段名中有多少条数据

        select avg(字段名) from 表名      字段名的平均数

        select max(字段名) from 表名      

        select min(字段名) from 表名

      ✎select * from 表名 order by asc(正序)/desc(倒序)

      ✎select * from 表名 where 字段名 in/not in ()

      ✎包含或不包含特定内容:select * from 表名 where 字段名 like/not like '%'      "%"代表>=0个字符,"_"代表一个字符

      ✎select * from 表名 limit 起点(从0开始),条数

      ✎select * from 表名 group by 字段名

  4.数据控制语言(DCL)

    ①grant

    ②remove

    ③commit

    ④rollback

  5.数据库备份与恢复

    备份方式①:复制数据库

      MySQL数据库的数据都存放在MySQL安装目录下的data文件夹中,每个数据库是一个文件夹。

      对应的恢复方式:复制到data文件夹中即可

    备份方式②:mysqldump

      首先进入MysQL的bin目录,然后执行:mysqldump -u 用户名 -p 数据库名>到处文件名,按回车,输入密码,即备份成功。

      对应的回复方式:进入MySQL控制台,建立数据库,使用use进入该数据库,最后使用:source 文件路径。 


二、mysql扩展库

  1.连接数据库:mysql_connect()

  2.选择具体的数据库:mysql_select_db()

  3.设置数据库编码:

    方法①mysql_query("utf8");

    方法②mysql_set_charset("utf8");

  4.操作mysql_query()返回的资源集

    ①array mysql_fetch_array()

    ②array mysql_fetch_row()

    这两个函数的区别:mysql_fetch_array()返回的数组中的key数字和字段都有,而mysql_fetch_row()返回的数组中的key只有数字。

  5.查询资源集中有多少条记录

    int mysql_num_rows()

  6.关闭数据库连接

    mysql_close([resource])


三、mysqli扩展库

  1.说明

    ①mysqli扩展允许使用两种方式操作MySQL数据库:面向过程模式和面向对象模式

    ②在面向对象模式中,mysqli被封装成一个类。因此,要使用这个类,必须先实例化。

  2.实例化

    $db=new mysqli()

  3.连接数据库

    $db->connect(主机,用户名,密码,数据库名)

  4.设置数据库编码

    $db->query("set names utf8")

  5.操作$db->query()返回的资源集

    ①$result->fetch_array()      $result是$db->query()返回的资源集

    ②$result->fetch_row()

  6.查询资源集中有多少条记录

    $result->num_rows;

  7.释放$result对象占用的内存

    $result->free()    清空查询的结果

  8.关闭数据库连接

    $db->close()


四、PDO抽象层

  1.连接数据库

    $db=new PDO("mysql:host=127.0.0.1;dbname=dbname","root","")

  2.设置编码

    $db->query("set names utf8")

  3.执行操作

    $objStatement=$db->query("")

  4.操作$db->query()返回的资源集

    $objStatement->fetch(PDO::FETCH_ASSOC)

  5.预执行语句

    预执行:$objStatement=$db->prepare("insert into 'pdo'(name,pay) values (:name,:pay)")

    绑定参数:$objStatement->bindParam(":name",$name)

    执行:$objStatement->execute()

  6.设置/获取属性

    $db->setAttribute()

    $db->getAttribute()

  7.事务处理

    事务开始:$db->beginTransaction()

    执行语句:$db->exec("sql语句")

    事务提交:$db->commit()

    事务回滚:$db->rollback()

    


五、传统模式与抽象层开发对比

  1.php6默认使用PDO来处理数据,所以,你懂的

  2.PDO与mysql扩展对比

    ①在连接选择数据库方面,mysql扩展库比PDO大约快3倍

    ②在查询和插入数据方面,二者相当

    ③PDO预处理模式的安全性较高

    ④PDO模式可以解决跨数据库平台操作

 

转载于:https://www.cnblogs.com/weiheli/archive/2013/06/11/3130913.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值