1、数据库概念——Web数据库架构
(1)浏览器和Web服务器之间的通信
(2)浏览器和PHP&MySQL服务器之间的通信
2、MySQL操作
(1)登录MySQL
步骤1:打开MySQL Commend Line Client
步骤2:输入root管理员设置密码
(2)MySQL常用命令
注意——使用大写减少了“小写转大写”的复杂流程
a、显示当前的数据库版本号和日期
SELECT VERSION(),CURRENT_DATE();
b、通过AS关键字设置字段名
SELECT VERSION() AS version;
//可设置中文,通过单引号
c、通过select执行返回计算结果
SELECT (2+2)*2;
d、通过多行实现数据库的使用者和日期
第一种单行的:
SELECT USER(),NOW()
第二种多行的:
SELECT
>USER()
>,
>NOW()
>;
e、通过一行显示数据库使用者和日期
SELECT USER(),SELECT NOW();
//表示打印出两行两列;
f、命令的取消
>\c
g、MySQL窗口的退出
>exit;
>quit;
(3)MySQL常用的数据类型
整数型:TINYINT(1字节,0-255) INT(4字节)
浮点型:DOUBLE FLOAT
日期型:DATETIME DATE TIME YEAR(DATETIME使用最多)
字符串型:CHAR VARCHAR
(CHAR为定长类型,空格也是一个字符,CHAR用于性别、密码;
VARCHAR为可变长度类型,可把空格删除,VERCHAR用于用户名,文章标题)
注意——CHAR定长,访问速度快;VARCHAR占用容量小。
备注型:TINYTEXT TEXT
(存储的为字符串本身,比较常用的是TEXT,大文章,帖子,新闻内容等)
(4)MySQL数据库操作
a、显示当前存在的数据库
SHOW DATEBASES;
b、选择你所需要的数据库
USE guest;
c、查看当前所选择的数据库
SELECT DATABASE();
d、查看一张表的所有内容
SELECT * FORM guest;
此外,通过“SHOW TABLES;”查看有多少张表
e、根据数据库设置中文编码
SET NAMES gbk;
f、创建一个数据库
CREATE DATEBASE book;
g、在数据库中创建一张表
CREATE TABLE users(
username VARCAHR(20),
sex CHAR(1),
birth DATETIME
);
h、显示表的结构
DESC users;
i、给表插入一个数据
INSERT INTO users (username,sex,birth) VALUES ('Zhao','0',NOW());
j、筛选指定的数据
SELECT * FROM users WHERE username='Zhao';
k、修改指定的数据
UPDATE users SET sex='男' WHERE username='zhao';
l、删除指定的数据
DELETE FROM users WHERE username='Zhao';
m、按指定的数据排序
SELECT * FROM users ORDER BY birth DESC;
n、删除指定的表
DROP TABLE users;
o、删除指定的数据库
DROP DATABASE book;
3、MySQL常用函数
(1)文本函数——
CONCAT('ac','db') 创建一个新的字符串(将两个字符串相连)
LENGTH() 返回列中储存的长度
LEFT() 从列的值中返回最左边的x个字符。
TRIM() 表示删除字符串开头和结尾的空格
SUBSTRING('zifuchuan',2,5) 表示从第2个位置取字符串中的5个
MD5() 把储存的字符串用MD5加密算法加密
SHA() 把储存的字符串用SHA算法加密
(2)数字函数——
ABS() 绝对值
ROUND() 表示四舍五入
FLOOR() 只返回x值的整数
CEILING() 返回x的值的最大的整数
RAND() 表示返回随机数
(3)日期函数
NOW() 表示返回当前的时间
HOUR() 返回存储日期的小时值
MINUTE() 返回分钟数
SECOND() 返回当前日期中的秒数
DAYOFMONTH() 返回当前时间的月数
CURTIME() 返回当前的时间
(4)格式化日期和时间
DATE_FORMAT()
TIME_FORMAT()
注意:若格式化当前的年份
SELECT DATE_FORMAT(NOW(),'%Y');
4、SQL语句详解
案例1:筛选某条数据——WHERE "="
(1)SELECT * FROM grade WHERE name='zhao';
(2)SELECT * FROM grade WHERE email IS NOT NULL;
(3)SELECT * FORM grade WHERE point BETWEEN 10 AND 20;
(4)SELECT * FORM grade WHERE point IN (23,87,4,76);
(5)SELECT * FORM grade WHERE name='zhao' OR name='zhang';
(6)SELECT * FORM grade WHERE email LIKE '%163.com';
(表示以后缀名163.com结尾的邮箱)
注意——若为“%163.com%”,表示无论在开头还是在结尾,都可以匹配到。
案例2:查找邮箱中使用163邮箱的学院,不包含yc.com字符串的学员
SELECT * FORM grade WHERE email LIKE '%163.com',
SELECT * FORM grade WHERE email NOT LIKE '%yc.com%';
案例3:按照学员的成绩进行正序排列,注册时间的倒序排列
SELECT * FORM grade ORDER BY regrade DESC;
SELECT * FORM GRADE ORDER BT point ASC;
案例4:只显示前三条的数据,弟弟三条开始显示两条
SELECT * FORM grade LIMIT 3;
SELECT * FORM grade LIMIT 2,2;
案例5:修改姓名为“Lee”的电子邮箱为...
UPDATE grade SET email='yc60.com@163.com' WHERE name='Lee';
案例6:删除编号为4的学员数据
DELETE FROM grade WHERE id='4';
分组函数的用法——
(1)求平均值:SELECT AVG(point) AS avg FORM grade;
(2)统计行数:SELECT COUNT(*) AS count FORM grade;
(3)求最大值:SELECT MAX(point) FORM grade;
案例7:检查表的信息
SHOW TABLE STATUS\G;
案例8:优化一张表
OPTIMIZE TABLE grade;
5、phpMyadmin
步骤1:创建一个新的数据库database
(选择识别码utf8 general_ci 表示中文不区分大小写)
步骤2:选择数据库,建立一张表table
(注意设置其属性)