mysql的个人学习笔记

MySQL的安装与navicat的安装

MySQL的运用

终端操作登录数据库

1.环境设置:

  1. 设置MySQL的bin文件的环境变量。
  2. 添加至用户环境变量的path一栏。
    2.用户登录及服务启动停止:
  3. win+r 输入cmd 点确定。
  4. 输入mysql -uroot(自己的用户名) -p(密码) {不安全,可见密码)或者输入mysql -uroot(自己的用户名) -p 点回车再输入密码 或者打开mysql command line client(注意:只能用root登录) ,直接输入密码
  5. 启动mysql的服务,直接打开任务管理器-服务-MySQL的启动与停止或者以管理员的身份打开cmd 输入net start MySQL/ net stop MySQL

MySQL的使用:

1.表的知识点:
1 表(table):是一种结构性文件,表中有行和列、主键的概念。
2.列叫字段,具有字段名称、字段数据类型、字段约束、字段长度
3.行有表中的记录。
4.主键由列构成,有多个或单个字段构成,通常不能修改。

2.sql的分类:
1. 数据查询语言(DQL),代表字:select
2. 数据操作语言(DML),代表字:inset、delete、update
3. 数据定义语言(DDL),代表字:create、drop、alter
4. 事务控制语言(TCL),代表字:commit、rollback
5. 数据控制语言(DCL),代表字:grand 、revoke

编程语言中操作数据库:

可视化操作数据库:

navicat基本知识:

  1. 主键:数据行的唯一标识,不能重复的列才可以充当。业务主键(易重复)和逻辑主键(防止重复)
  2. 外键:关联多张表。

建表:

  1. 点击新建数据库,用UTF-8编码
  2. 在数据库的目录的表下新建表,id不能为空,Name不能为空,Gender不能为空,
  3. 列表/表名不要关键字,不要空格,不要特殊符号。表名一般T_名字跟s
  4. 存储引擎:MyISAM效率高,不支持事务和外键,建议InnoDB,点击项对象信息可看引擎(建表时可以在选项中选择引擎)。
  5. 名那里写主键(一般写ID)
  6. varchar,可变的字符串
  7. 每一栏就是一个总数据的名字(比如姓名)
  8. 创建表后直接双击输入相应的数据。

数据类型:

  1. 整型:tinyint:
  2. 文本:
  3. 小数:
  4. 日期和时间:
  5. 二进制数据:

SQL语句:

基本知识:

  1. 字符串用单引号
  2. 大小写不敏感
  3. Navicat找到SQL语句的地方“查询‘–新建查询,编写SQL语句然后执行
创建表格:
create table goods(
  id int primary key auto_increment,
  name varchar(25)
  );
查询语句:
  1. select * from 表名 查询一个表全部的数据
  2. insert into 表名(响应的数据名字用“ ,”隔开)values(对应的数据具体值用“ ,”隔开)
  3. 自动值增长,在设计表中选中表的栏名选中自动递增。
  4. 在修改表的格式时其表的旧数据也要合法。
更新语句:
  1. update
    语法:updat 表名 set 栏名 = 值这一栏名数据都是这个值
条件语句更新语句:
  1. where
    表达式 where 条件
select * from T_students where name = '张二猪'
update T_students set hobbies= 'java' where name= '张二猪'

在这里插入图片描述

逻辑词:not ,or,and,<=,>=,<,>,!=(或<>)
  1. 等于是单个=
  2. not 取反
  3. and是与
  4. or是或者
  5. 其他相似与编程语言
删除语句:
  1. delete
    语法:delete from 表名 删除所所有数据,表还在。
  2. drop
    语法:drop table 表名
数据检索语句:
select语句:
  1. select
    语法:select 数据名,数据名2,… from 表名 只列出相应需要的数据。

  2. 语法:select 数据名 as 自定义的名字,数据名2 as 自定义的名字2 ,…from 表名 只列出相应需要的数据并把相应的数据名改成自己定义的名字。(其as可以省略)
    下面展示一些 内联代码片

  3. 与where一起用

// A code block
select name,hobbies from T_students
select name as 姓名,hobbies as 爱好 from T_students
// An highlighted block
select name,hobbies from T_students
select name as 姓名,hobbies as 爱好 from T_students

在这里插入图片描述
在这里插入图片描述

数据汇总:
  1. max,min
    select max(数据名),min(数据名),… from 表名

  2. count个数
    select count(数据名或 * ) from 表名

  3. sum和avg
    select sum(数据名),avg(数据名)… from 表名

数据排序:
  1. order by 子句位于select语句后面,允许安照指定一个列或者多个列以(升序asc或者降序desc)来排列。

  2. order by 子句位于where语句后面。

通配符过滤:
  1. 单字符匹配的通配符为 _,匹配单个出现的字符。
通配符描述
%替代一个或多个字符
_仅替代一个字符
[charlist]字符列开头中的任何单一字符
[^charlist]或者[!charlist]不在字符列开头中的任何单一字
  1. SELECT * FROM 表名 WHERE 数据名 LIKE '匹配类型’

  2. 特殊的:
    SELECT * FROM Persons WHERE City LIKE ‘[ALN]%’
    这种语法在MySQL中不适用,必须以正则表达式代替,正确语句如下
    SELECT * FROM Persons WHERE City RLIKE ’ ^ [ALN]%'
    regexp或者rlike关键字均可
    SELECT * FROM Persons WHERE City RLIKE ’ ^ [ ^ ALN]%’ 非aln开头。

  3. 如果需要区分大小写,使用binary 关键字

MySQL NULL 值处理:

  1. IS NULL: 当列的值是 NULL,此运算符返回 true。

  2. IS NOT NULL: 当列的值不为 NULL, 运算符返回 true。

  3. <=>: 比较操作符(不同于 = 运算符),当比较的的两个值相等或者都为 NULL 时返回 true。

limit:

  1. limit 开始数据,数据条数 数据分页。

  2. 一定要放在最后。

group by :

  1. 数据分组,放在where语句之后。

  2. select * from 表名 group by 数据名

多表连接:

join:

  1. INNER JOIN INNER JOIN(内连接)

SELECT 表名.数据名1, 表名.数据名2, 表名1.数据名3 FROM 表名
INNER JOIN 连接的其他表
ON 表名.数据名 = 其他表名.数据名

  1. JOIN: 如果表中有至少一个匹配,则返回行
    在这里插入图片描述

  2. LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
    在这里插入图片描述

  3. RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
    在这里插入图片描述

  4. FULL JOIN: 只要其中一个表中存在匹配,就返回行
    在这里插入图片描述

  5. 表连接时分析哪一部份是相同的。在进行连接,可以连用join连接多张表。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值