MySQL的入门使用及注意事项

6 篇文章 0 订阅

1 DBeaver部署和使用

DBeaver是一款免费、开源的通用数据库工具,便于用户操作。

DBeaver的安装:
1.1 安装JDK1.8 64位(必须64位)
1.2 官网下载 Windows 64 位 的installer包,安装即可。

DBeaver的使用
页面上点击创建连接,输入IP地址,数据库类型(MySQL)、用户、密码,点击测试连接。(如:连接mysql要关注下3306端口是否放开。)

2 MySQL的建库、权限、登录、进程

	create database testdb;
	grant all privileges on testdb.* to master@'%' identified by 'bigdata';  
	flush privileges;
  • 对于master用户的所有登录机器,都拥有testdb数据库下所有表的所有权限,密码是bigdata,会自动加密为暗文。
  • % 代表任意客户端机器可以访问mysql服务器
    如:192.168.1.1 表示这台机器有权限去访问,192.168.1.% 表示这个网段的所有ip机器有权限去访问。
  • 查看用户、主机和密码:select user,authentication_string,host from mysql.user; 其中authentication_string代表加密后的密码。
	[root@master]# mysql -uroot -bigdata-hmaster001 -P3306 mysql

注意:

  • 密码不要写在命令行 不然 history 命令可以发现。
  • -p后面如果非要写密码不能有空格,其他参数无所谓!

查看mysql进程的id:show processlist;
杀死id对应的进程:kill id;

3 MySQL字段类型

int  整型
long 长整型

float   单精度
double  双精度   
decimal 小数值  钱有关的 

char 字节        定长0-255 长度    ruozexxxxxxx 自动补齐
varchar 字符串   

date 日期 YYYY-MM-DD
time 时间 HH:MM:SS
datetime  年月日时分秒 YYYY-MM-DD HH:MM:SS
timestamp 年月日时分秒 YYYY-MM-DD HH:MM:SS	

datetime 和 timestamp 的区别
相同点:两者都可用来表示YYYY-MM-DD HH:MM:SS类型的日期。
不同点:TIMESTAMP把客户端插入的时间从当前时区转化为UTC(世界标准时间)进行存储。查询时,将其又转化为客户端当前时区进行返回。而对于DATETIME,不做任何改变,基本上是原样输入和输出。
结论:对于跨时区的业务,TIMESTAMP更为合适。

4 MySQL常用命令

4.1 sql类型

DDL数据定义语言:create drop
DML数据操作语言:select insert update delete 增删改查
DCL数据控制语言:grant

4.2 建表规范、增删改查
create table ruoze(
id int(11)  not null auto_increment,  第一列必须是id自增长

name varchar(255),
age int(3),
.....

create_user varchar(255),
create_time timestamp not null default current_timestamp,
update_user varchar(255),
update_time timestamp not null default current_timestamp on update current_timestamp,

primary key(id)  
) DEFAULT CHARSET=utf8;
insert into ruozedata.ruoze(name,age) values('jj',18);
insert into ruozedata.ruoze(name,age) values('rz',37);
insert into ruozedata.ruoze(name,age) values('huhu',19);
update ruozedata.ruoze set age=33 where name='jj';

delete from ruozedata.ruoze where id=3;
select * from ruozedata.ruoze;	

注意

  1. 表名称和字段名称不要写中文。
  2. 统一表结构设计风格。
  3. 第一个字段必须是自增长字段,主键 无业务意义 架构设计的遵循。
  4. 一张表只有一个主键 primary key(id)
  5. create_user 、create_time 、update_user 、update_time 必须要有。
  6. 业务字段 务必加上注释。
4.3 常用语法

ifnull用法:例如求和函数不能出现空或null,必须赋默认值0。

select name, ifnull(sum(age),0) as age_sum from testdb.tb1 group by name;	

join的用法
左连接,以左表为主,数据是全的;右表来匹配,匹配不到就null
右连接,以右表为主,数据是全的;左表来匹配,匹配不到就null

注意
ifnull 和 join的结合使用,生产上不允许出现null,必须对null值做处理!

select a.*,
ifnull(b.i,''),
ifnull(b.name,''),
ifnull(b.age,'')
from a left join b on a.i=b.i;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值