导航
增 insert insert into product(id,name,factory)values()
删 delete deleft from student where id=12;
改 update update name set tepe=‘张三’ where id=2;
查 select * from name; select id from where id<10;
desc name 查询表结够
mysql_set_charset($link,utf8)设置字符集
- 数据库增加
CREATE DATABASE db_name
create database
2) 数据库的查询
SHOW DATABASES;
show databases - 数据库的删除(勿操作)
DROP DATABASE db_name
drop database - 选择数据库
USE db_name; - 数据表的查询
SHOW TABLES;
show tables
3) 改数据表名
ALTER TABLE old_tb_name RENAME [TO|AS] new_tb_name;
alter table 表名 rename[to|as] 新表名
4) 删除数据表
DROP TABLE tb_name;
drop table 表名
comment ‘备注注释’;
查询表里的内容 select * from 表名 where 条件
5)数据表中添加记录
insert into product(id,name,factory)values()
5)查询表内数据
select * from product 语法select * from 表名称
6)条件查询(where)
#select id from where id<10; //and是并且 or 是或者
7)范围查找1:in 包括,固定 not in不包括
select * from where id in(2,4,6);
8)范围查找3:like 模糊查询
select * from product where name like ‘—_苹果%’
9)排序 order by 将查询的结果按照某一个字段进行排序;
asc 升序 是默认的
desc 降序
select * from product order by aaa asc;
- 左连接 LEFT JOIN 左查询
语法:SELECT 字段 FROM 表1 LEFT JOIN 表2 ON 表1.关联字段=表2.关联字段
10)分组查询 group by
group by 分组字段 比如group by name;
sum ()求和 max ()最大值 min ()最小值 avg ()平均分 count()统计记录数
一、Mysql的连接
1)通过wamp这个软件打开
左键单击wamp图标—>Mysql->mysql console
2) 通过网页打开
数据库服务器地址(localhost)/phpmyadmin
3) 通过cmd命令窗口打开
a. 环境变量配置
右键单击’计算机’->属性->高级系统设置->'高级’选项卡->环境变量->设置用户变量->新建->变量名:PATH 变量值:D:\wamp64\bin\mysql\mysql5.7.19\bin.->确定
b. 使用win+R打开运行窗口->cmd->mysql -h主机地址 -u用户名 -p
注意:如果环境变量设置完成后,打开cmd输入mysql依然提示外部命令的情况,使用管理员方式打开cmd命令窗口
4) 使用第三方图形界面软件(Navicat)进行数据库连接
选择 连接mysql->在打开的窗口中选择常规选项卡
连接名: 自定义
主机地址:
端口号: 默认3306
用户名
密码
以上四种navicat使用最多,在学习数据库的过程中要求使用第1种或者第3种
5) 找到数据库的用户名、密码、主机地址
使用wamp集成软件mysql的主机地址为localhost 用户名root 密码 默认为空
二、了解的概念
数据库服务器
数据库
表
字段
记录
三、操作
增删改查
数据库:增 查 删 改 (删和改严禁使用)
表: 增 查 删 改
字段:增 查 删 改
记录 :增 删 改 查 ☆☆☆☆☆ 在对记录进行删和改操作时,请慎重
四、数据库操作
1) 数据库增加
CREATE DATABASE db_name
例如: CREATE DATABASE test;
2) 数据库的查询
SHOW DATABASES;
±-------------------+
| Database |
±-------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| test |
±-------------------+
3) 数据库的删除(勿操作)
DROP DATABASE db_name
例如:DROP DATABASE test;
4) 数据库的修改(修改数据的名字)
a. 备份所有原来的数据库的数据
b. 新建数据库
c. 将备份的数据恢复到新建的库
d. 删除原来的数据库
五、数据表的操作
1) 选择数据库
USE db_name; 注意:只有这一个命令可以省略分号
2) 创建表
student 这个是自己给表取得名字
CREATE TABLE student (
字段名1 类型 约束,
字段名2 类型 约束,
…
)ENGINE=InnoDb;
例如:
CREATE TABLE student (
id INT AUTO_INCREMENT PRIMARY KEY,
name CHAR(6),
sex INT,
age INT
)ENGINE=InnoDb;
2) 数据表的查询
SHOW TABLES;
3) 改数据表名
ALTER TABLE old_tb_name RENAME [TO|AS] new_tb_name;
例如:ALTER TABLE student RENAME student1;
4) 删除数据表
DROP TABLE tb_name;
例如: DROP TABLE student1;
六、数据类型
- 字符串
char与varchar区别
a. 长度不同,char取值范围为0-255,varchar取值范围0-65535
b. char为固定长度,当输入长度小于设置的长度时,占用设定长度;
varchar可变长度,当输入长度小于设置的长度时,占用输入长度;
enum 枚举 - 整型 tinyint 默认长度4;0255,或-128127;
smallint 默认长度6;0~65535,或 负32768~32767;
mediunint 默认长度9; 0~16777215;或 负8388608~8388607;
int - 浮点型
float(m,d) 单精度浮点 8位;
double(m,d) 双精度16位;
decimal(m,d) - 日期
time 格式 :HH:MM:SS
date 格式 :YYYY-MM-DD
year格式 : YYYY
datetime 格式 :YYYY-MM-DD HH:MM:SS
timestamp
七、约束
primary key 主键 值唯一,数据表得列标识,一张表只能有一个主键
unique 唯一约束 值不重复
null 空 允许为空
not null 非空 不允许为空
default 默认 设置默认值 常与not null 约束配合使用
auto_increment 自增字段 必须与primary key共同使用
commnet 注释
foreign key 外键约束
八、存储引擎
MyISAM 存取速度快,不支持事务机制
InnoDb 支持事务机制
九、字段的增删改查- 字段的查询
DESC tb_name; #描述表结构信息
例如:DESC student1;
SHOW CREATE TABLE tb_name; #查看创建表内的SQL语句
例如:SHOW CREATE TABLE student1;
2) 添加字段
ALTER TABLE tb_name ADD 字段名 类型 约束 [AFTER] 原表字段;
例如:ALTER TABLE student1 ADD address VARCHAR(100) NOT NULL;
3) 修改字段
ALTER TABLE tb_name MODIFY 字段名 类型 约束;
例如: ALTER TABLE studnet1 MODIFY address INT; - 字段的删除
ALTER TABLE tb_name DROP 字段名;
例如:ALTER TABLE studnet1 DROP address;
记录的操作
insert into 表名称 (id,name,age) values(1,‘张三’,20);
作业:
商品表
id
商品名称
库存
价格
商家
exit结束
- 字段的查询
增 先数据表中添加记录;
前面是自己定义的商品id’列表。后面values的值对应前面的;product是表名称
insert into product(id,name,factory)values()
查询表内数据
- select * from product 语法select * from 表名称
2)select name,retprice,stock prom product 语法select 需要取得字段1,字段2 字段之间用逗号隔开from 表名称
3)条件查询(where)
多条件查询下的and 和 or
#select id from where id<10; //and是并且 or 是或者
#select * from where name=“李四”;
select 字段(需要内容的字段或者*) from where 条件(查询的字段)<200;
a < b > c = d <= e >= f !=
范围查找1:in 包括,固定 not in不包括
#查询id为2,4,6的记录 如果是汉字需要加‘’号 not不包括
#select * from where id in(2,4,6);
范围查找2: between and 范围
#查询id是2-6的数据 // 也可以用条件 and 方法查找
select * from where id between 2 and 6;
范围查找3:like 模糊查询 经常用到项目中的搜索功能
like % 表示匹配任意和这个有关的 like _ 匹配一个
⑴:查询的内容前面无 % 说明前面是一样的;有表示前面有任意字符;
后面无表示后面没有,有表示后面还有内容
⑵:_ 这个前面加了表示前面只有一个字符;后面表示后面只有一个字符的;
⑶:这两个可以配合使用;product这个只是表的名字
select * from product where name like ‘—_苹果%’;
4)排序 order by 将查询的结果按照某一个字段进行排序;
asc 升序 是默认的
desc 降序
select * from product order by aaa asc;
升序排列 product表名字 aaa 表内的字段
5)分页查询 limit
limit 开始位置,显示条数;
select * from product limit 3,3;
//前面3表示第几个下标开始,后面表示一页显示多少条内容
//下标是从0开始的,所有要查多少就 合者要查多少页; 减1*显示的条数
分组查询 group by
group by 分组字段 比如group by name;
group by 分组字段; 比如group by 分组字段; 这样可取查询一个字段里的单位,相当于去重
聚合函数
sum ()求和
max ()最大值
min ()最小值
avg ()平均分
count()统计记录数
再查询的时候使用as设置别名,注意可以使用中文,可以使用引号
name,sum(score),max(score),…
from student group by name order sum(score) asc;
name,sum(score),max(score) as a,…
from student group by name order a asc;
两种写法:student表名 score 成绩 name 名字 a是sum的附值
虚拟字段查询 having 加在后面的; 原表中不存在的字段进行条件判断
select name,sum(score) as a,avg(score),max(score),min(score),count(score) from exam group by having avg(score)>60;
多条件查询
and 于 or或者
记录的修改
前面是要修改成的值。 后面是要被修改的值
语法;update 表名称 set 字段=修改的值 where 条件(比如 sno=“李四”);可以用id= 来做条件
update name set tepe=‘张三’ where id=2;
注意:没有设置条件,将会修改整张表的数据。
修给多个
语法;update 表名称 set 字段=修改的值, 字段=修改的值where 条件(比如 sno=“李四”);
删除操作 deleft from 表名称 where 条件; in是包括的意思;也可以做后面的条件
deleft from student where id=12; //id in(2,3,4)
注意:没有设置条件,将会删除整张表的数据。
select name±*/
要打印出赚钱多少 select 赚钱的算法,可以加减乘除 from 表名;
select from wst_goos where 字段名>2019-2-1;
对于返回的值,用mysqli_fetch_assoc($res) 把他转成数组。OBJ类型也可以
$rowcount=mysqli_num_rows($result) // 返回记录数》0就是有结果
drop 删表删库