一、配置
MySQL服务启动
使用管理员打开cmd
* net start mysql : 启动mysql的服务
* net stop mysql:关闭mysql服务
MySQL登录
1. mysql -uroot -p密码
2. mysql -hip -uroot -p连接目标的密码
mysql注释
3 种注释
* 单行注释: -- (空格)注释内容 或 # 注释内容(mysql 特有)
* 多行注释: /* 注释 */
mysql中的数据库和表实际在电脑硬盘中存储
C:\ProgramData\MySQL\MySQL Server 5.5\data\
.frm:
描述每张表的结构;
.MYD:
真正存储这张表相关的数据;
.MYI:
有关表的索引相关的文件
查看一个表创建的sql语句
show create table student;
二、SQL分类
DDL是什么?
Data Defination Language
数据定义语言;
作用:
操作数据库 及 表;
DML是什么?
Data Manipulation Language
数据操作语言:
作用:
对表中的数据进行增删改的操作
DQL是什么?
Data Query Language
数据查询语言:
作用:
对表中的数据进行查询的操作
DCL是什么?
Data Control Language
数据控制语言:
作用:
权限相关操作
三、mysql中字段数据类型
整数是什么类型?
int
小数是什么类型?
double(总长度,小数位长度)
日期是什么类型?(格式:yyyy-MM-dd只有年月日,没有时分秒)
date
日期时间是什么类型?(格式:yyyy-MM-dd HH:mm:ss,含有时分秒)
datetime
时间戳是什么类型?(包含年月日时分秒 yyyy-MM-dd HH:mm:ss
如果不给这个字段赋值,或赋值为null,则默认使用当前的系统时间,来自动赋值)
timestamp
字符串是什么类型?
varchar(字符的长度)(注意和oracle中varchar2的区别)
以上为常用,下图可以参考看看就行
1.怎么复制表?
create table 新表名 like 原表名;
四、DML 增删该表中的数据
1. 添加数据:
* 语法:
* insert into 表名(列名1,列名2,...列名n) values(值1,值2,...值n);
* 注意:
1. 列名和值要一一对应。
2. 如果表名后,不定义列名,则默认给所有列添加值
insert into 表名 values(值1,值2,...值n);
3. 除了数字类型,其他类型需要使用引号(单双都可以)引起来
2. 删除数据:
* 语法:
* delete from 表名 [where 条件]
* 注意:
1. 如果不加条件,则删除表中所有记录。
2. 如果要删除所有记录
1. delete from 表名; -- 不推荐使用。有多少条记录就会执行多少次删除操作
2. TRUNCATE TABLE 表名; -- 推荐使用,效率更高 先删除表,然后再创建一张一样的表。
3. 修改数据:
* 语法:
* update 表名 set 列名1 = 值1, 列名2 = 值2,... [where 条件];
* 注意:
1. 如果不加任何条件,则会将表中所有记录全部修改。
五、DQL查询表中的数据
1. 语法:
select
字段列表
from
表名列表
where
条件列表
group by
分组字段
having
分组之后的条件
order by
排序
limit
分页限定
2.查询去重复distinct关键字
如果 distinct name,age;
必须是查询的多个结果的两个字段值一模一样;
3.如果有null参与运算,那么运算的结果是什么?
null
如果查出来的值为null,怎么修改?
ifnull(字段名,替换值)
六、模糊查询
%代表几个字符?
任意个(可以是0个)
_代表几个字符?
一个字符;
经常用到包含某个字:使用'% %'