MysQL基础
基本知识:
1、数据库:是对数据的管理;
2、数据库中的表:是对发生业务的分类管理;
3、MysQl:是数据管理系统;
一些常用的mysql命令
1、登录mysql;
运行cmd —>d:—> cd D:servermysql-5.7.17-winx64in —>mysql -u root -p —>输入密码:root。
2、显示服务器上所有已有的数据库;
show databases;
3、在服务器中创建自己的数据库;
create database 数据名字 character set utf8;
4、切换到指定的数据库中;
use 数据库的名字;
5、删除已有的数据库;
Drop database 数据库名字:db_name;
在数据库中建立数据表格;
数据表示一个二维的表格(行、列)
一行代表一条数据;
每一列代表是当前一条数据的字段;
1、先指定一个数据库的名字;
Use 数据库名字;
2、建立数据库中的表格;
Create table 表格的名字:tb_name(
—>字段1,
—>字段2,
—>字段3
—> );
3、显示表格;
Show tables;
4、删除表格;
Drop table 表格的名字;
知识点:
(1)、主键:唯一识别一条记录的字段;
(2)、自增:某个字段不需要手动填写数据;而是通过系统分配的整数,每一条数据分配的值都是前一条数据的增量。
(3)、非空:字段设置为非空时,填写数据时要求该字段为必填项;
(4)、默认值:向表中填写数据时,字段不写入数据时,会默认填充值。
代码单词:
默认值:default (value)值;
自增:auto_increment;
主键:primary key; 注意:字段指定了主键之后,unique将不再使用;
唯一:unique;
说明:comment ‘填写说明的内容’;
引用:reference_definition;
非空:not null;
数据类型:
Double:小数;(length:数的总长度,docimals:小数占据几位)
Float:
Numeric:(length;数的总长度,decimals:小数占据几位)
Datetime:日期,时分秒;
Int:默认长度整数数字;
Varchar():不固定字符,需要手动填写字符长度;
Char():字符固定,定长字符;
Text():存在无限多个字符;
插入数据insert
Insert 表的名字 values();
适用于全记录插入;按照字段的顺序插入数据;
语法:insert 表的名字(字段1,字段2,......) values(‘字段1的值’,’字段2的值’,’字段3的值’);
对于指定的字段进行数据的插入操作,如果是字符类型的数据要用单引号’’,包含要插入的数据;
提示:主键、自增、默认可以不进行定义;
修改、删除
1、修改表中的数据;
语法:update 表的名字 set 字段1=值,字段2=值,where 条件;
语句中如果不加where,则会将所有个性字段对应的记录修改掉;
Update 表的名字 set nickname=’tom’
数据筛选:where id=1;
2、删除表中的指定记录。
Delete from tb_name where 删除条件;
MYSQL-workbench查询数据方式
最基本的方式
select * from db_name;
投影搜索
select id,title from td_name where id=''and title='';
模糊查询
title like '默认%';
%:表示不清楚的部分,属于通配符,可以代表多个字符
_:代表一个未知字符
筛选条件 样式:
and 条件并列,必须同时满足
or 条件多个只要满足一个就好
not 条件相反的
count 聚合函数,统计
sum 求和
max 最大值
min 最小值
avg 平均值
升序与降序的排列;
order by id asc(可省略) 升序
order by id desc 降序
group by 分组
在不分组的时候,一般用where筛选条件, 当分组之后,则用having筛选条件。
查询方式;
一、联合查询;
join
详细 inner join db_name on....
连接方式:
表1 inner join 表2 on 表1.外键=表2.主键;
二、子查询
先查出内部的值,通过这个值再查出外部的值
select id from number where id = (select....);
再用“=”的时候注意括号内的值是一个,多个的情况下可选择使用“in”,再不保证正确的情况下,可全都选择使用“in”。
区间的选择;
between....and....;
去重的方式:
1.用group by的方式
2.在需要去重的字段前加上“distinct”