MySQL学习笔记

DDL语句

连接到MySQL服务器

mysql -uroot -p

创建数据库 create database dbname;

create database test;

查看系统中存在的数据库

show databases;

选择数据库test

use test

在这里插入图片描述
查看test1数据库中创建的所有数据表

show tables;

删除数据库

drop database test;

创建表
create table tablename(
column_name_1 column_type_1 constrains,
column_name_2 column_type_2 constrains,

column_name_n column_type_n constrains,);
constrains是约束条件。

create table user(name varchar(10),id int(10),sal decimal(10,2));

查看表 desc tablename;

desc user;

在这里插入图片描述

查看创建表的SQL语句

show create table user \G;

在这里插入图片描述

删除表

drop table user;

修改表中字段ename的类型
alter table tablename modify ename [typename]

alter table user modify name varchar(20);

在这里插入图片描述
增加表字段
alter table tablename add column columnname type(3);

alter table user add column age int(10);

在这里插入图片描述

删除表字段
alter table emp drop column column_name;

alter table user drop column age;

在这里插入图片描述
将age字段改名age1

alter table emp change age age1 int(1);

在这里插入图片描述
将新增字段birth类型date 加在name后

alter table user add birth date after name;

在这里插入图片描述
修改字段age,放到最前面

alter table user modify age int(4) first;

更改表名emp1

alter table emp rename emp1;

DML语句

向表user中插入以下记录:name:chen,birth:2021-01-01,id:007,sal:750,age:18

insert into user(name,birth,id,sal,age)values('chen','2021-01-01',007,750,18);

也可以不用指定字段名称,但是values后面的顺序应该跟字段排列顺序一致

insert into user values('chen','2021-01-01','750',18);

查看表 user内容

select * from user;

在这里插入图片描述
一次插入多条记录

insert into user values('duan','2020-01-01',008,1000,17),('huang','2019-01-01',009,2000,20);

在这里插入图片描述
将表user中huang的sal改为1500

update user set sal=1500 where name='huang';

在这里插入图片描述
删除记录

delete from user where name='duan';

在这里插入图片描述
不加where条件会把表的所有记录都删除。

查询某字段

select name from user;

在这里插入图片描述
查询多个字段

select name,sal from user;

在这里插入图片描述
将符合条件的记录列出来

select * from user where sal=750;

在这里插入图片描述
在这里插入图片描述
排序
select * from tablename order by field1 DESC/ASC, field2 DESC/ASC,…
DESC:降序 ASC:升序(如果不写该关键字默认是升序)
如果第一个排序字段的值一样,则按第二个排序字段,以此类推。

select * from user order by sal DESC;

在这里插入图片描述
聚合
select [field1,field2,…,fieldn] fun_name
from tablename
[where where_contition]
[group by field1,field2,…,fieldn
[with rollup]]
[having where_contition];
fun_name:表示要进行的分类操作,常用的有sum(求和),count(记录数),max,min
having是对聚合后的结果进行条件的过滤,where是在聚合前就对记录进行过滤。

 select count(1) from user;

在这里插入图片描述

 select sum(sal),max(sal),min(sal) from user;

在这里插入图片描述

表连接
在这里插入图片描述
在这里插入图片描述
内连接

select name,deptname from user,dept where user.deptnum=dept.deptnum;

在这里插入图片描述
将两个表的数据按照一定的查询条件查询出来,将结果合并到一起显示出来

select deptnum from user
union all
select deptnum from dept;

在这里插入图片描述
union all 是把结果集直接合并在一起,而union是将union all后的结果进行一次过滤,去除重复记录后的结果。

select deptnum from user
union
select deptnum from dept;

在这里插入图片描述

DCL语句

DCL语句主要是DBA用来管理系统中的对象权限时使用,一般的开发人员很少使用。

帮助的使用

?contents

在这里插入图片描述
进一步查看functions
在这里插入图片描述
数值类型
在这里插入图片描述
在这里插入图片描述
对于整数类型,MySQL支持在类型名称后的小括号内指定显示宽度,如int(5)

对于小数的表示,MySQL分为:浮点数(float,double)和定点数(decimal).定点数在内部以字符串形式存放,比浮点数更精确,适合用来表示货币等精度高的数据。
浮点数和定点数都可以用类型名称后加(M,D)来表示,意思是一共显示M位数字,(整数位+小数位),其中D位位小数点后面。M和D又被称为精度和标度。

日期时间类型

在这里插入图片描述
DATE:年月日
DATETIME:年月日时分秒
TIME:时分秒
在这里插入图片描述

insert into t values(now(),now(),now());

在这里插入图片描述
TIMESTAMP的插入和查询都受当地时区的影响,DATETIME只能反映出插入时时区。

采取不同格式将日期存到DATETIME中

 insert into t2 values('2021-1-1 12:10:10');
 insert into t2 values('2021/1/1 12+10+10');
 insert into t2 values('20210903121010');
 insert into t2 values(20210708121010);

在这里插入图片描述

字符串格式

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值