MySQL自学笔记

数据库的增删改查

创建名为test的测试数据库
create database test;

查看创建好的test数据库
show create database test;

查看所有数据库列表
show databases;

使用创建好的test数据库
use test;

删除创建好的test数据库
drop database test;

数据表的增删改查

创建数据表

create table 表名(
字段名 约束条件,
字段名 约束条件,
字段名 约束条件,
primary key(主键字段名,主键字段名)
);

ps:
常用约束条件
数据类型
数值型: int();float(M,D);double(M,D);
时间日期型:datetime;
字符串型:varchar(M)

约束条件说明语法
PRIMARY KEY主键约束字段名 数据类型 PRIMARY KEY
NOT NULL非空约束字段名 数据类型 NOT NULL
UNIQUE唯一约束字段名 数据类型 UNIQUE
AUTO_INCREMENT自增字段字段名 数据类型 AUTO_INCREMENT
DEFAULT默认值字段名 数据类型 DEFAULT 默认值 eg:default ‘-’/default 0

新建table2,并且表结构与table1一致:
create table table2 like table1;

为数据表插入数据

直接插入数据:
insert into 表名(字段一,字段二,字段三)
values(值一,值二,值三),
(值一,值二,值三),
(值一,值二,值三)
;

导入外部文本文件:
load data local infile ‘文件路径,注意分隔符左斜’
into table 表名
fields terminated by ‘,’
ignore 1 lines;

ps:.txt格式文本分隔符为 ‘\t’;.csv格式文本分隔符为 ‘,’

excel文件倒入sql注意:

  • 数据集中所有列名都得是英文
  • 数据存储方式改为csv
  • 数据编码方式改为utf-8
检查表数据

检查表内容
select * from 表名;

检查表数据总行数
select count(*) from 表名;

检查表结构
desc 表名;

修改数据表

将数据表emp改名为empdep
alter table emp rename empdep;

将数据表empdep中depname字段的数据类型由varchar(20)修改成varchar(30)alter table empdep modify depname varchar(30);

将数据表empdep中depname字段的字段名改为dep
alter table empdep change depname dep varchar(30);

将数据表empdep中dep字段的字段名改回为depname,并将该字段数据类型该会为varchar(20)
alter table empdep change dep depname varchar(20);

为数据表empdep添加新字段maname,新字段数据类型为varchar(10),约束条件为非空
alter table empdep add maname varchar(10) not null;

将数据表empdep中maname字段的排列顺序改为第一位
alter table empdep modify maname varchar(10) first;

将数据表emp中maname字段的排列顺序改到depid字段之后
alter table empdep modify maname varchar(10) after depid;

删除maname字段
alter table empdep drop maname;

查询表数据

select 〈目标列组〉
from 〈数据源〉
where 〈元组选择条件〉
group by 〈分列组〉 having 〈组选择条件〉
order by 〈排序列1〉〈排序要求desc(降序排列)〉
limit 行数;

where和having的区别:

  • where:对表中已有字段进行筛选
  • having:对统计结果再筛选

limit的用法:

  • limit n :表示返回查询结果的前n行
  • limit n,m:表示从m+1行开始,连续返回n行的数据
  • limit n offset m:从第m条数据开始取出n条数据
select 语句的操作符

算术操作符
+(加号)、-(减号)、*(乘号)和 /(除号)

比较操作符
=(等于)、>(大于)、<(小于)、<=(小于等于)、>=(大于等于)、!=或<> (不等于)、!>(不大
于)和 !<(不小于)

逻辑运算符

  • 逻辑运算符的优先级:not > and > or
  • 括号可以改变优先级

区间运算符

  • in(条件1,条件2):包含在条件1,条件2之内
  • between A and B:在A和B之间

通配符:

  • %:匹配任何内容的多个占位符
  • -:匹配任何内容的单个占位符

聚合函数

函数名称功能
avg按列计算平均值
sum按列计算值得总和
max求一列中的最大值
min求一列中的最小值
count按列值计个数
distinct不重复值,常用于不重复计数

改键值

删除字段命令无法执行时需要改键值
set sql_safe_updates = 0;

时间戳格式转为datetime格式

1、创建一个新的日期时间字段
alter table 表名 add 新字段名 datetime not null;
2、用原时间戳字段为新字段赋值
update 表名 set 新字段名= from_unixtime(时间戳字段名);
ps:为什么不能自己给自己赋值,因为数据类型不一样,等号两边的数据类型需要一致
3、删除原有时间戳字段
alter table 表名 drop column 时间戳字段名;

存储过程(stored procedures)

函数:封装批处理过程;
函数化:可以通过参数反复调用(输入不同的参数解决不同的问题);
大型函数:低级函数不断封装到高级的过程;
软件世界:函数>>对象(类/实体)>>程序>>系统

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值