MySQL数据库基础

数据库基础

数据库分类

  • 层次数据库
  • 网状数据库
  • 关系数据库
    • SQLServer
    • Oracle
    • MySQL
    • DB2(IBM)
    • Informix
    • SYBASE

关系数据库

SQL

Struct Query Language: 结构化查询语言

SQL是一种标准,数据库产品具体实现并且会有相应扩充。

数据存储本质

逻辑结构清晰有序的存储

  • 数据库 –> opt文件
  • 表 –> frm文件 表的结构
    • myd 数据记录
    • myi 表的索引

关键数据库常见术语

  • 数据 data
  • 数据库 database
  • 数据库管理系统DBMS
  • 表 table
  • 字段 field、列 column:
  • 行 row、记录 record

数据库系统的基本结构

  • 客户端 访问数据库服务器(mysql命令行,phpmyadmin,php脚本)
  • MySQL管理系统 管理数据,软件
  • 数据文件 存储数据,表现为一个文件

PHPMyAdmin

配置虚拟主机

  1. 添加解析域名 hosts
  2. 添加虚拟主机 http-vhost.conf

启动php_mbstring

extension=php_mbstring.dll //php.ini

否则报错: mb_detect_encoding() 错误

PHPMyAdmin高级功能启用

  1. 在系统中新建数据库库,名字为“phpmyadmin”,编码为utf8;
  2. 将本文件夹中的“0phpmyadmin.sql”导入(恢复)到刚才建立的数据库中;
  3. 修改本文件夹中的“config.inc.php”,将47行改为:“//*”,说明:
    1. 47行原来是“/*”,
    2. 修改完,也就是相当于启用了49到65行(原来被注释)
  4. 重新登录phpmyadmin

数据库操作的基本模式

  1. 建立连接–身份认证
  2. 客户端发送sql命令
  3. 服务端执行命令并返回
  4. 客户端接受结果并显示
  5. 断开连接

系统操作

MySQL启动与停止

  • 服务模式 services.msc
  • 命令行模式 net start/stop mysql

MySQL登录与退出

  • 登录 mysql -h服务器地址 -u登录名 -P端口号 -p密码
  • 退出 quit/exit

设置客户端编码

set names 编码名

MySQL备份恢复

备份

mysqldump -h服务器地址 -u用户名 -p密码 databasename > filename //注意后面不能加;

恢复

mysql -h服务器地址 -u用户名 -P端口号 -p密码 数据库名 < 文件名

数据库需要预先建立

基本语法

注释

  • 单行注释

  • – 单行注释,– 后有一个空格
  • /**/ 多行注释

语句结束符

默认是分号
delimiter 新的符号 //自定义语句结束符

数据库命名规则

MySQL本身不区分大小写,但是如果操作系统区分大小写,则数据库名和表明会区分大小写

推荐:下划线命名,采用小写单词

PHP操作数据库的基本代码和流程

基本流程

  1. 连接数据库
    $link = @ mysql_connect('localhost', 'root', 'passwd') or die();`
  2. 设定连接编码(utf-8)
    mysql_set_charset('utf8'); //mysql_query('set names utf8')`
  3. 选择数据库
    mysql_select_db('database_name') //mysql_query('use database_name')`
  4. 执行SQL命令
    $result = mysql_query('sql');`
    • 无返回数据
      • $result 为 true 表示执行成功
      • $result 为 false 表示执行失败
    • 有返回数据
      • $result 为 false 表示执行失败
      • 执行成功,取出结果集数据

补充SQL语句

  • set names gbk
  • use database_name 选择数据库
  • show databases 显示数据库
  • desc tablse_name 表结构
  • mysql_fetch_array 从结果集取一行并指向下一行
  • mysql_num_rows 行数
  • mysql_num_fields 字段数
  • mysql_field_name 字段偏移对应的字段名

数据库定义语句

创建数据库

Create databae [if not exists] database_name [charset 字符集] [collate 字符排序规则];

  • if not exists
  • 字符集 show charset 数据存储为本地数据时所使用的字符编码名称,通常为utf8
  • 字符排序规则:推荐使用默认规则
    • 排序规则:字符集中字符的先后排列顺序的规则

修改数据库

alter database 数据库名 character set = 新字符集 collate=新校对集;

删除数据库

drop database database_name;

其他

  • use 选择数据库
  • show
    • databases 显示所有数据库
    • show create database database_name; 显示数据库创建语句
    • table from database 显示数据库中所有表

你可能感兴趣的:(MySQL数据库基础)