MySQL学习笔记

MySQL学习笔记

数据库操作

登录MySQL:

mysql -u root -p   #登录命令
Enter password:******  # 输入密码登录后进入终端
exit; #退出

数据库常用操作语法:

# 查看所有的数据库
show databases;
# 选择一个数据库
use 数据库名;
# 查看当前所在的数据库
select database();
# 创建数据库
create database 数据库名;
# 删除数据库
drop database 数据库名;
MySQL数据类型

大致可以分为三类:数值、日期/时间和字符串(字符)类型。

数值类型

在这里插入图片描述

decimal是没有精度缺失,常用于需要精确度较高的类型(利率…),常规的价格之类的使用double即可

字符类型(string)

char:代表字符,长度固定,容易浪费空间资源,但效率高

​ 例如:年龄、手机号、身份证号、身高、婚姻状态、性别…

varchar:字符串,长度可变,不浪费空间,但效率低

日期类型

date:只有年月日

time:只有时分秒

year:只有年

datetime:年月日时分秒

timestamp:年月日时分秒(时间戳)

datetime和timestamp的区别

datetime默认值是是null,timestamp默认是当前系统时间

表操作

注意:所有对表的操作,前提是需要先选择数据库

# 查看表
show tables;
# 创建表
create table 表名(
field 数据类型 [约束],
field...
);
# 例如 创建部门表
create table t_depart(
dno int,
dname varchar(255),
loc varchar(255)
);
# 查看表结构
desc 表名;
# 删除表
drop table 表名;
# 修改表名
rename table 旧表名 to 新表名;

表字段操作

# 添加字段
alter table 表名 add field 数据类型 [约束];
alter table depart add departphone varchar(11);
# 修改字段数据类型
alter table 表名 modify field 数据类型 [约束];
alter table depart modify departphone char(11);
# 修改字段名
alter table 表名 change 老字段名 新字段名 数据类型;
alter table depart change departphone phone char(11);
# 删除指定字段
alter table drop [column] field;
alter table 表名 drop phone;

创建员工表

create table emp(
eno int,
ename varchar(50),
sex varchar(5),
birthday date,
phone varchar(11),
dno int);
数据操作

对于数据的操作,就是增删改查(CURD),区别点在于实际对应的需求不同,所以写的SQL的复杂程度不同

添加数据

# 语法一 insert into 表名 values(值,...); 值的顺序与类型要和创建表时给定的字段顺序及类型保持一致
insert into depart values(10,'研发部','上海市浦东新区XXX大厦16楼1603');
# 语法二 insert into 表名(filed,...) values(值,...); 值的顺序与类型要和前面指定的字段的顺序及类型保持一致
insert into emp(eno,ename,sex,phone,dno) values(1,'小阿飞','男','16864543487',10);
# 批量添加数据 insert into 表名(field,...) values(val,...),(val,...),...;
insert into depart values(20,'客服部','郑州市中原区A楼'),(30,'运维部','郑州市中原区B楼');

修改数据

在进行数据的修改时要注意,如果没有指定条件的话,会将表中的所有的数据都进行修改

# 修改数据 update 表名 set field=val,field=val,... where 条件;
update emp set birthday='2000-02-28' where eno=1;
update emp set birthday='2000-02-27',phone='13687487469' where eno=1;

删除数据

在删除数据时要注意,如果没有指定条件的话,会将表中的数据清空

# 删除数据 delete from 表名 where 条件
delete from depart where deptno=50;
# truncate 清空数据 truncate table 表名;
truncate table depart;

查询数据

# 使用通配符*查看
select * from 表名;
# 查询指定字段的数据
select ename,birthday,phone from emp;

思考:使用通配符和使用字段名的区别

*代表通配,需要先去表中查看表都有哪些字段,然后在匹配对应的字段信息

直接使用字段名,直接去表中匹配对应的字段

所以*会影响性能,开发要求不能使用通配符

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值