下面就进入数据库的学习,不光要学习语法,还要学习图形化操作数据库的工具。
安装环境:
下载PHPstudy可以看看这篇文章进行安装
安装过程可能会报毒。(关掉杀毒软件,360等)
或者装到Win10虚拟机里安装教程
Mysql简介:
是一个关系型数据库管理系统(就像是表格)
是WEB应用中最好的RDBMS(关系数据库管理系统)应用软件
支持结构化查询语言SQL
开源免费
什么是数据库:
按照数据结构来组织、储存和管理数据仓库
什么是关系型数据库:
建立在关系模型基础上的数据库,借助于集合代数等数学概念的方法来处理数据库中的数据
关系型数据库相关的术语:
数据库:是一些关联表的集合
数据表:类似一个简单的电子表格
主建:主键是唯一的,一个数据表中只能包含一个主键
外键:用于关联俩个表
索引:使用索引可快速访问数据库中的特定信息,类似书籍的目录
Mysql-front简介:
是一款小巧的Mysql图形化管理工具
使用之前,要确保Apache,Mysql为开启状态。
第一次使用可能告诉你没有安装。
SQL简介:
全称:Structured Query Language,结构化查询语言
是一种数据库查询和设计语言
用于存取数据以及查询,更新和管理关系型数据库系统
不区分大小写
SQL具有数据定义、数据操纵和数据控制的功能。
1、数据定义语言DDL(Data Define Language)
通过CREATE,ALTER和DROP实现创建表或修改、删除表。
2、数据查询语言DQL(Data Query Language)
通过SELECT,WHERE,ORDER BY,GROUP BY和HAVING实现数据的查询
3、数据操作语言DML(Data Manipulation language)
通过INSERT,UPDATE和DELETE实现数据的增加、修改和删除。
4、数据控制语言DCL(Data Control language)
通过GRANT或者REVOKE实现权限的控制。
也可以在vscode中编写,文件已.sql为后缀
-- SQL中的注释
-- 单行注释 --空格 快捷注释 : ctrl + /
-- 单行注释 #
-- 多行注释 /* */
-- 被注释的代码不会被程序执行
-- 创建wodediyige数据库
-- CREATE : 创建
-- DATABASE : 数据库
-- CREATE DATABASE 数据库名;
CREATE DATABASE wodediyige;
-- 防止出现重复创建数据库报错的语句
-- IF : 如果
-- NOT : 不 没有
-- EXISTS : 存在
-- DEFAULT:默认
-- CHARSET : CHARACTER SET 字符集/编码
-- 如果不存在wodediyige就创建数据库wodediyige,如果存在就不创建
-- 创建时设置默认的编码格式为utf8
CREATE DATABASE IF NOT EXISTS tedu DEFAULT CHARSET utf8;
-- 设置SQL编辑器字体大小
-- 点击导航栏中设置选项
-- 设置->程序设置->编辑器->SQL字体->...->大小
-- 使用数据库(指定操作的数据库)
-- USE : 使用
-- USE 数据库名;
USE wodediyige;
我们学习到的命令要进行执行,怎么执行呢?
-- 在wodediyige数据库中创建一个数据表user
-- CREATE:创建
-- TABLE:数据表
-- IF:如果
-- NOT EXISTS : 不存在
-- CREATE TABLE IF NOT EXISTS user(
-- 字段名1 数据类型 [约束 属性],
-- 字段名2 数据类型 [约束 属性],
-- 字段名3 数据类型 [约束 属性],
-- );
-- 数据表中第一行是字段名,而第一列是序号
USE wodediyige;
CREATE TABLE IF NOT EXISTS user(
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(200) NOT NULL,
pwd VARCHAR(150) NOT NULL,
PRIMARY KEY(id)
);
-- 待会再来解释写的什么意思
-- SQL中常用的数据类型:
-- 1.数值型
-- 1.1 INT 整型 存储整数 范围:-2147483648 - 2147483648
-- 1.2 SMALLINT 小整型 存储整数 范围:-32768 - 32768
-- 1.3 DECIMAL() : 双精度浮点型 存储小数 只要跟钱相关的字段,必须使用DECIMAL()数据类型
-- DECIMAL(a,b): b规定了小数位最多保留的位数
-- a:规定的是整数位+小数位保留的总位数
-- 整数位位数:a-b
-- DECIMAL(7,2):小数位保留2位,整数位保留7-2 => 5位 最大值:99999.99
-- 2.字符型
-- VARCHAR(n) 变长字符串,默认可以存储255个字符
-- TEXT:文本类型 最多存放65535字符
-- 3.时间日期
-- DATETIME : 年-月-日 时:分:秒
-- DATE : 年-月-日
-- TIME : 时:分:秒
-- 开发过程中更多使用时间戳来存储时间
-- 时间戳:现在的时间距离格林威治时间1970年1月1日 00:00:00 所经历的秒数
-- 时间戳查看网址:http://www.4qx.net/timestamp.php
-- 对上面进行解释
-- UNSIGNED:无符号位(非负数)
-- NOT NULL:非空(不能为空)
-- AUTO_INCREMENT : 自动增长
-- PRIMARY KEY(字段名):设置主键
-- 向user数据表中新增数据
-- INSERT : 插入
-- VALUES : 赋值
-- INSERT [INTO] 库.表(字段名1,字段名2...) VALUES(值1,值2...);
INSERT wodediyige.user(name,pwd) VALUES('tony','123456');
-- 修改数据
-- UPDATE : 更新
-- SET : 设置
-- WHERE : 在...情况下
-- UPDATE 库.表 SET 字段名1=字段值1,字段名2=字段值2 [WHERE 条件];
-- 将id=1的用户数据进行修改,密码修改成aaaaaa
UPDATE wodediyige.user SET pwd='aaaaaa' WHERE id=1;
-- 查询数据
-- SELECT : 选取
-- FROM : 从..
-- SELECT 字段名1,字段名2... FROM 库.表 [WHERE 条件];
SELECT id,name,pwd FROM wodediyige.user;
SELECT name FROM wodediyige.user;
-- * : 代替所有字段名
SELECT * FROM wodediyige.user;
-- 删除数据
-- DELETE : 删除
-- FROM : 从...
-- DELETE FROM 库.表 [WHERE 条件];
-- 删除 wodediyige数据库中user表中id等于1的用户
DELETE FROM wodediyige.user WHERE id=1;
-- 如果删除语句不加WHERE条件,会将数据表中所有的数据删除掉
DELETE FROM wodediyige.user;
-- 删除数据表user
-- DROP : 丢弃
-- DROP TABLE 库.表;
DROP TABLE wodediyige.user;
-- 删除数据库 wodediyige
-- DROP DATABASE 库名;
DROP DATABASE wodediyige;
-- 以上指定数据库名的方式是 数据库名.数据表名
-- 指定数据库的其他方式:USE 数据库名;
DELETE FROM wodediyige.user WHERE id=1;
-- 写成以下的内容:
USE wodediyige;
DELETE FROM user WHERE id=1;
INSERT wodediyige.user(name,pwd) VALUES('tony','123456'); 怎么查看执行结果呢?
有的时候会不显示,我们可以点击左上角的刷新,如果还不行,就重新打开Mysql-front。
每执行一条sql语句,都刷新一次。
内容先告一段落了(后面的知识跑丢了)..........