MySQL基础学习笔记

MySQL基本信息

安装

参考各类视频,安装失败要卸载重装

卸载

参考各类视频,要删除一些隐藏文件才能卸载干净

配置

  • MySQL服务启动

    • 手动。

    • cmd–> services.msc 打开服务的窗口

    • 使用管理员打开cmd

      net start mysql : 启动mysql的服务
      
      net stop mysql:关闭mysql服务
      

登陆

mysql -u[user] -p[password]
mysql -h[IP] -u[user] -p[password]
mysql --host=[IP] --user=[user] --password=[password]

输入密码时可以在-p / --password后回车输入密文

退出

exit
quit

MySQL目录结构

  • MySQL安装目录:
    • 配置文件 my.ini
  • MySQL数据目录:datadir=“C:/ProgramData/MySQL/MySQL Server x.x/Data/”
    • 概念
      • 数据库:文件夹
      • 表:文件
      • 数据:数据

SQL分类

;结尾,--+space# 为注释,或者/*``*/多行注释,不区分大小写,建议关键字大写。这里使用小写便于记忆

DDL(Data Definition Language)

操作库

  • Create
create database [库名]; # 使用默认字符集创建数据库
create database [库名] character set [字符集,如UTF8]; # 指定字符集创建数据库
create database if not exists [库名] character set [字符集,如UTF8]; # 判断数据库是否存在并创建
  • Retrieve
show databases; # 显示所有数据库
show create database [库名]; # 显示创建该数据库的语句
  • Update
alter database [库名] character set [字符集,如UTF8]; # 修改数据库字符集 
  • Delete
drop database [库名]; # 删除数据库
drop database if exists [库名]; # 如果数据库存在,删除
  • 使用数据库
select database(); # 查询当前使用的数据库
use [库名]; # 使用数据库
操作表://注释参照操作库的指令

  • Create
create table [表名](
	[列名1] [数据类型1],
	[列名2] [数据类型2],
	...
	[列名n] [数据类型n]
);

数据类型(可以自己搜索相关资料,这里整理一些常用的)

  • int # 整型
  • double # 也有float
    • score double(5,2) # 5位数,小数点后保留2位
  • date # 日期 只包含年月日 yyyy-MM-dd
  • datatime # 日期 包含年月日时分秒 yyyy-MM-dd HH:mm:ss
    • timestamp # 时间戳类型 同datatime ,如果将来不给这个字段赋值,则自动使用当前系统时间
  • varchar # 字符串类型
    • name varchar(20) # 最大20个字符

类似的,可以使用与创建库相似的命令,比如指定字符集,if not exists 等等

特别的,还有一个复制表的操作

create table [表名] like [被复制表名]; # 复制表
  • Retrieve
show tables;
show create table [表名];
desc [表名]; # 查询表结构
  • Update
alter [表名] rename to [新表名]; # 重命名
alter table [表名] character set [字符集,如UTF8];
alter table [表名] add [列名] [数据类型]; # 增加一列
alter table [表名] change [列名] [新列名][新数据类型]; # 修改列名与类型
alter table [表名] modify [列名] [新数据类型]; # 修改某列数据类型
alter table [表名] drop [列名]; # 删除列
  • Delete
drop table [表名];
drop table if exists [表名];
  • 使用数据库
select database(); # 查询当前正在使用的数据库名称
use 数据库名称; # 使用数据库

DML(Data Manipulation Language)

insert into [表名]([列名1], ... , [列名n]) values([1], ... ,[值n]);	
delete from [表名] <where [条件]>; # <>为可选参数,若不加条件,逐条删除表中所有数据
truncate table [表名]; # 删除表,再创建一样的空表
		update [表名] set [列名1]=[1] , ... <where [条件]>; # 修改符合条件的对应列名的值

DQL(Data Query Language)

语法

select * from [表名]; # 查询表中所有数据
select  <distinct>
			 [字段列表]	 	
		from
			 [表名列表] 
		<where>
			 [条件列表]
		<group by>
			 [分组字段]
		<having>
			 [分组后的条件]
		<order by>
			 [排序方式]
		<limit>
			 [分页限定]
		; # 列表按逗号分隔,表名列表中查询符合条件的字段列表并按照分组字段分好组,按照排序方式及分页条件分组后的条件输出
  • 基础查询

    • 多个字段的查询
      select 字段名1,字段名2… from 表名;
      • 注意:
        • 如果查询所有字段,则可以使用*来替代字段列表。
    • 去除重复:
      • distinct
    • 计算列
      • 一般可以使用四则运算计算一些列的值。(一般只会进行数值型的计算)
      • ifnull(表达式1,表达式2):null参与的运算,计算结果都为null
        • 表达式1:哪个字段需要判断是否为null
        • 如果该字段为null后的替换值。
    • 起别名:
      • as:as也可以省略
  • 条件查询

    • where子句后跟条件
    • 运算符
      • > 、< 、<= 、>= 、= 、<>
      • BETWEEN…AND
      • IN( 集合)
      • LIKE:模糊查询
      • 占位符:
        • _:单个任意字符
        • %:多个任意字符
      • IS NULL
      • and 或 &&
      • or 或 ||
      • not 或 !

DCL(Data Control Language)

待更新

例子

create database if not exists demo character set utf8;
use demo;
create table user(id int,name varchar(20),gender varchar(1));
insert into user(id,name,gender) values(01,'张三','男');
insert into user(id,name,gender) values(02,'李四','女');
delete from user where id=2;
update user set name='王五',gender='男' where id=1;
insert into user(id,name,gender) values(02,'李四','女');
insert into user(id,name,gender) values(03,'张三','男');
select id,name from user;
select * from user where name like '张%';
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值