核心目标:学好增删改查,写啥业务都不怕!
一、理解数据库及其作用
1、数据库的五个基本单位
1)数据库服务器
2)数据库
3)数据表
4)数据字段
5)数据行
2、详解这五个基本单位
1)数据库服务器。是指用来运行数据库服务的一台电脑。在中小型企业通常为一台。在数据存储量计算量很大的时候可以存在多台。多台数据库服务器共同来存储或计算。由于数据安全非常重要,我们经常会对数据库服务器里面的数据进经备份。
2)数据库。一个数据库服务器里面有可以有多个数据库。主要用来分类使用。我们可以建立交通信息数据库、游戏数据库、酒店开房数据库... ... 主要用来将各个不同用途的数据,按照业务进行大块的划分。
3)数据表。例如在游戏数据库中。根据这一款游戏又分为了不同的数据表。专门用来区分游戏不同的数据。例如:用户数据(用户、密码);人物数据;所有装备和装备信息;用户的充值信息;药品、魔力药水信息... ...等
4)数据字段,也叫数据列。就是我们日常所见表格里面的列。在表格中,我们会将一张用户表分成多个列。如下(表一)所示:用户编号、用户名、性别、年龄是字段。在真正的数据库中数据字段需要换成英文需要写成:id、username、sex、age。
5)数据行。真正的数据存在每一个表的行里面。字段(列)划分出来了一个表应该按照什么样的格式存数据。而行,是真正的数据。每一行需要遵循数据字段(列)的规范和要求进行存入数据。
二、数据表之间的关系(主键、外键)
一对一、一对多、多对多。
同一个数据库中,有多张表,这些表之间往往是具有着某种对应关系的。
三、MySQL安装教程
MySQL是跨平台的服务器,windows操作系统下的使用与linux下的使用几乎一模一样。
1)百度搜索关键词:mysql server下载
2)访问官网下载:[http://dev.mysql.com/downloads/mysql/](http://dev.mysql.com/downloads/mysql/)
四、SQL 初识
SQL是操作数据库的核心,也是本章开始的一句话:MySQL对于PHP程序员来说就是将业务转化成表结构。做好业务中的增、删、改、查。
结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
SQL是最重要的关系数据库操作语言,并且它的影响已经超出数据库领域,得到其他领域的重视和采用,如人工智能领域的数据检索等。
虽然各个数据库系统略有不同,但是他们基本均遵循SQL 92标准。或者在SQL 92上做了一些简单的扩展和变化。
学好了MySQL 的SQL 语法,其他的SQL语法学习起来均是万变不离其宗。
五、SQL语句的三大功能分类
SQL语句按照其功能范围不同可分为3各类别:
1)数据定义语言(DDL ,Data Defintion Language)语句:数据定义语句,用于定义不同的数据段、数据库、表、列、索引等。常用的语句关键字包括create、drop、alter等。
2)数据操作语言(DML , Data Manipulation Language)语句:数据操纵语句,用于添加、删除、更新和查询数据库记录,并检查数据的完整性。常用的语句关键字主要包括insert、delete、update和select等。
3)数据控制语言(DCL, Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。主要的语句关键字包括grant、revoke等。
==数据库/表/字段操作==
六、连接数据库服务器
mysql -h localhost -u root -p (连接本地数据,-h localhost 可省略; 没有密码时,-p可省略。)
七、创建数据库 / 删除数据库
CREATE DATABASE 数据库名; (如果数据已存在,会提示错误。)
DROP DATABASE 数据库名; (【切记】注:数据库删除后,下面的所有数据都会全部删除,所以删除前一定要慎重并做好相应的备份。)
八、显示全部的数据库
show databases;
九、选中并进入某个数据库
use 数据库名; (使用 use 语句随时随地的切换要操作的数据库)
十、查看当前数据库中的表
show tables; (显示当前数据库下所有的表)
十一、创建数据表
语法:CREATE TABLE表名(字段名1 字段类型, ....字段名n 字段类型n);
举例:CREATE TABLE user(username varchar(20), password varchar(32));
十二、查看数据表的表结构
语法:desc 数据表名;
十三、查看创建某个数据表所用的SQL语句
语法: SHOW CREATE TABLE 数据表名 \G; (“\G”选项的含义是使得记录能够按照字段竖着排列,对于内 容比较长的记录更易于显示。)
十四、删除数据表
DROP TABLE 数据表名; (删除表。表和数据均会丢失,请勿必删除重要表之前备份数据。)
十五、指定数据表的表引擎和字符集
(在创建表最后,我们常用MyISAM或者InnoDB引擎。)
指定表引擎,语法: ENGINE=InnoDB;
指定表默认字符集,语法: DEFAULT CHARSET=utf8;
创建数据表的完整语法: CREATE TABLE 数据表名 (字段名1 字段类型,字段名2 字段类型, ... 字段名n 字段类型 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
十六、修改字段名、修改字段类型
修改字段名: alter table 表名 change 字段原名 字段新名 字段类型;
修改字段类型: alter table 表名 modify 字段名 varchar(20); (把指定的字段改成了 varchar(20)类型。)
十七、向数据表中增加新的字段
语法1: alter table 表名 add column 字段名 类型; (默认新增的字段在最后一列。)
语法2: alter table 表名 add 字段名2 字段类型 after 字段名1; (创建新的字段2,同时让它排在字段1之后。)
十八、删除一个字段
语法:alter table 表名 drop column 字段名;
十九、修改字段的排列顺序
1)在增加字段语句和修改字段语句(add / change / modify)的后面,都可以加一个可选项 first | after 以调整当前字段的顺序。
2)使用modify调整顺序:举例 alter table user modify email varchar(60) first; (它把 email字段放在了第一个位置。)
二十、修改数据表的名字
语法:alter table 旧表名 rename 新表名;
二十一、查看到当前服务器支持的所有引擎
语法: show engines;
==增删改查(数据操作)==
一、向表中插入数据
语法1: insert into 表 values(值1,值2,值n);
语法2: insert into 表(字段1,字段2,字段n) values(值1,值2,值n);
二、从表中查询数据
查询所有数据: select * from 表; (”*” 是一种正则表达式的写法,表示查询所有字段的值。)
指定字段查询: select 字段1,字段2,...字段n from 表; (一次可以查一个或多个字段的值。)
查询单个字段中“值”不重复的记录: select distinct 字段名 deptno from 表名;
条件查询: select 字段 from 表 where where 条件;
对查询结果进行排序: select 字段 from 表 order by 字段 排序关键词;
多个条件的结果排序: select 字段 from 表 order by 字段1 排序关键词,... ...字段n 排序关键词;
限制查询的数量: select 字段 from 表 limit 数量;
在指定区间中进行查询: select 字段 from 表 limit 偏移量,数量;
对查询数据进行统计: select 函数(字段) from 表;
对查询结果进行分组: select * from 表 group by 字段;
三、多表联合查询
四、更新表中的一条数据
语法:update 表名 set 字段1=值1,字段2=值2,字段n=值n where 条件;
五、从表中删除数据
语法:DELETE FROM 表 [where 条件];
删除表中所有的数据: TRUNCATE TABLE 表名;