一、操作语句类型:
DDL:数据库模式定义语言,关键字:create
DML:数据操纵语言,关键字:Insert、delete、update
DCL:数据库控制语言 ,关键字:grant、remove
DQL:数据库查询语言,关键字:select
二、安装MySQL
1.在mac安装过mysql后去系统偏好设置里面启动MySQL
2.在控制台输入‘mysql -u root -p’连接MySQL发现 ‘ mysql: command not found ’ ---->这是没有配置环境变量
操作.bash_profile文件添加:export PATH=$PATH:/usr/local/mysql/bin
3.输入密码后连接成功
三、mysql数据类型
1、数据库字段数据类型 (*指的用的比较多)
varchar 字符串 *
text 大字符串
int *整数
integer
date 日期 *
datetime 时间 *
numeric(5,2)
decimal(5,2)
float
double
blob 存储文件的数据类型,有一个弊端,脚本导出移植的时候比较麻烦。
四、MySQL基本操作
1.show databases;展示数据库
show tables;展示表名
2、语句
建表语句 create table 表名 (字段一名称 类型(长度),字段一名称 类型(长度));
主键作用: 1、在本业务表内,值唯一,不能重复。
2、不能为空,必须要有。
3、不能有任何含义。
这样表就建好了,返回navicat查看
3、插入数据语句。
一共三个字段
三种情况 1.insert into 表名 (字段一,字段二,字段三) values (字段一的值,字段二的值,字段三的值);
2.insert into 表名(字段三,字段一) values(字段三的值,字段一的值);
3.insert into 表名 values(字段一的值,字段二的值,字段三的值);//不建议使用
刷新查看navicat,
4、数据库修改语句
1.无条件,单字段修改
update 表名 set 字段名=新的字段值;
2.无条件,多字段修改
update 表名 set 字段1名=字段1值,字段2名=字段2值,字段3名=字段3值;
3.有条件,多字段修改
update 表名 set 字段1名=字段1值,字段2名=字段2值 where 条件字段1名=一个值;
4.多条件修改。
update 表名 set 字段名=字段值 where 条件字段1=值 and 条件字段2=值;
5.删除数据
delete from 表名;//清空表
delete from 表名 where 条件字段1=值 and 条件字段2=值;
6查询数据******
一、简单查询
select * from 表名;
select 字段一,字段二 from 表名;
select * from 表名 where 条件字段1=值;
select * from 表名 where 条件字段1=值 and 条件字段2=值;
高级查询:
1、模糊查询
只知道条件一部分内容
select * from 表名 where 条件字段一 like '%值%';
其中%代表未知内容。
2.排序查询
- 你可以使用任何字段来作为排序的条件,从而返回排序后的查询结果。
- 你可以设定多个字段来排序。
- 你可以使用 ASC 或 DESC 关键字来设置查询结果是按升序或降序排列。 默认情况下,它是按升序排列。
- 你可以添加 WHERE...LIKE 子句来设置条件。
select * from 表名 order by 字段一 asc;(升序)
select * from 表名 order by 字段一 desc;(降序)
select * from 表名 order by 字段一,字段二 ;
3.组函数
select min(age) from student;
max(age) 最大年龄
min(age) 最小年龄
sum(age) 年龄和
avg(age) 平均
count(1) 用于统计记录的条数
4.组函数搭配分组
GROUP BY 语句根据一个或多个列对结果集进行分组。 在分组的列上我们可以使用 COUNT, SUM, AVG,等函数。
select count(*),age from student group by age;
双条件分组
select count(age),age,class_no from student group by class_no,age;
二、复合查询
1、子查询
SELECT * FROM 表名1 WHERE
字段一 = (SELECT 字段一 FROM 表名2 WHERE 字段二= '值');
2、连接的前身
select * from 表名1,表名2 where 表名1.字段一=表名2.字段一 ;
3、连接
select * from 表名1 join 表名2 on 表名1.字段=表名2.字段 ;
1.内连接
select * from 表名1 inner join 表名2 on 表名1.字段值=表名2.字段值;
表格关联条件,双方都匹配的才会显示。
2.左连接
select * from 表名1 left join 表名2 on 表名1.字段值=表名2.字段值;
以left join 为分隔,前面的表为主表,右侧的表为副表,将主表的内容全部显示出来,副表只显示双方条件的数据。
3.右连接
select * from 表名1 right join 表名2 on 表名1.字段值=表名2.字段值;
左连接的相反取值
4.全连接