MySQL增删改查

Posted by luoway on October 21, 2015

数据库服务器用于管理数据。 以我的理解,数据库是M、前端是V、后端是C,这三部分构成了Web开发的MVC模型。

数据库服务器 > 数据库 > 表 > 每一行列

w3school: SQL

一.连接数据库

  1. 连接工具:
    mysql作为数据服务器来运行,任何满足mysql通信规范的软件都可以作为客户端来连接服务器。 常用的客户端:基于web的phpMyAdmin,mysql自带的命令行客户端。
  2. 以命令行连接为例
    1. 连接服务器
      mysql -h localhost -u root -p (password)
    2. 查看当前库
      show databases ;
    3. 创建库 create database php;
    4. 选中库 use php
    5. 查看表 show tables;
    6. 清空表 truncate tableName;
    7. 删除表 drop table tableName;
    8. 删除库 drop database baseName;
    9. 修改表名 (库名不能改) rename table oldName to newName;
    10. 查看表结构 desc tableName;
    11. 创建表结构
      create table tableName(
      stu int,
      name varchar(20),
      age int,
      area varchar(20) //最后一列不能加“,”
      );
    12. 解决字符集问题 set names gbk;
  3. 破解数据库密码:
    1. 关闭mysqld服务进程
    2. Mysqld --skip-grant-tables
    3. mysql -uroot 无密码登陆服务器
    4. 修改权限表
    5. 进程管理器结束mysqld服务
    6. 通过服务管理器打开mysqld服务 use mysql;
      update user set password = PASSWORD(‘mima’) where user = ‘root’;
      flush privileges;

二.操作数据库

增删查改:

1.增(insert)

insert into msg
(列1,列2,……,列N)
values
(值1,值2,……,值N);

列与值严格对应。不声明列则是插入所有列

字符集问题:设置my.ini的client、mysqld字符集,(重建表,)set names utf8

2.删(delete)

delete from msg;//删除整个表内容
delete from msg
where id = 2

3.查(select)

select *(所有列) from msg where id > 2;
select id,name from msg (所有行);

4.改(update)

update msg
set id = 2, content = ‘沙发’ where name = ‘李四’;

三.PHP连接数据库

mysql_connect(地址,用户名,密码);
返回值:资源型

什么是资源型?
是“通道”,可沿通道获取的资源。

//php连接mysql

$host = ‘localhost’;
$user = ‘root’;
$pwd = ‘luowei’;

//打开到mysql的通道,通道用$conn表示
$conn = mysql_connect($host, $user, $pwd);

$sql = ‘use php’;	//引号内部不用分号

//用mysql_query()发送查询
$rs = mysql_query($sql, $conn)	//mysql_query返回值有两种:布尔型、资源型
vardump($rs);		//调用$rs后返回值 boolen(true)

$sql = “insert into msg (id, name, title, content) values (6,’名字6’,’标题6’,’内容6’)”;
vardump($rs); 		//boolen(true)

//获取数据
$sql = ‘select * from msg’;
$rs = mysql_query($sql, $conn);

//mysql_fetch_assoc() 获取数据过程,形同吸管盒取吸管
while($row = mysql_fetch_assoc($rs)){
	$list[] = $row;
}

print_r($list);

连接符号“.”,连成新的字符串

echo “<h1>留言错误:</h1><p>错误原因:”.mysql_error().”</p>”

建表语句

create table msg(
	id int primary key auto_increment,	//作为主键,自增
	title varchar(20),
	name varchar(20),
	content varchar(20)
);