MySQL基础(一)

这篇博客介绍了MySQL的基础知识,包括创建数据库、用户权限设置、显示进程、DDL操作如增删改表结构的规范,以及常见的字段类型如数值、字符串、日期时间等。还提到了主键的概念,并强调了在建表时的一些规范。
摘要由CSDN通过智能技术生成

前言

本文总结了 MySQL 的一些工作中常用的基础知识,演示环境为 DBeaver(海狸)连接CentOS 6.5上安装的 MySQL 5.6.32,MySQL的安装可参见 CentOS 6.5常用软件安装 中的MySQL部分,不同MySQL的版本可能会有不同的输出结果,望周知。

通用的三个步骤

  • 创建数据库 create database
  • 给某个用户授予访问权限 grant all privileges
  • 刷新权限 flush privileges
# 创建数据库xxx
create database xxx;
# 给某用户赋予访问某数据库中某张表的权限
# 若用户不存在会创建一个新的用户,用户名为 userName,密码为 passwd,可以通过 ip 访问指定的库表
# 若写为 dbName.* 表示可以访问该数据库中的所有表
# ip可以指定为 %,代表某用户通过所有 ip 均可以访问,也可以指定某网段,例如 192.168.20.%
grant all privileges on dbName.tableName to userName@'ip' identified by 'passwd';
# 刷新权限,涉及到权限操作记得刷新
flush privileges;

显示正在连接的进程

  • 如果MySQL查询数据觉得卡顿,可以查看MySQL正在执行的进程,把可能卡住的进程 kill 掉
# 显示现在连接的进程
show processlist;

# 输出示例
+----+--------+--------------------+------------+---------+------+-------+------------------+
| Id | User   | Host               | db         | Command | Time | State | Info             |
+----+--------+--------------------+------------+---------+------+-------+------------------+
|  9 | zhihan | 192.168.217.1:4803 | zhihandata | Sleep   |  147 |       | NULL             |
| 10 | zhihan | 192.168.217.1:4804 | zhihandata | Sleep   |  147 |       | NULL             |
| 11 | zhihan | localhost          | NULL       | Query   |    0 | init  | show processlist |
+----+--------+--------------------+------------+---------+------+-------+------------------+

# 结束某个进程
kill id

DDL:增删改表结构

# 创建表
create table tableName(
	colName1 colType1,
	colName2 colType2,
	...
);

几个建表规范

  • 表的第一个字段为 自增长,非业务性 的字段
  • 一定要有 创建时间,创建人,修改时间,修改人 字段
  • 字段名 统一风格,例如:以什么开头,中间用什么连字符(例如_)
  • 千万 不要用汉语拼音、首字母、中文 做字段名
# 示例
create table xxx(
	id int auto_increment primary key,
	...
	create_time timestamp default current_timestamp,
	create_user vartchar(100),
	update_time timestamp default current_timestamp on update current_timestamp,
	update_user varchar(100)
);

常见字段类型

  • 数值类型

    • int 整数
    • long 长整数
    • float 单精度(小数点后位数较少的)
    • double 双精度(小数点后位数较多的)
    • decimal 小数值(涉及到钱的字段使用该类型)
  • 字符串

    • char 定长字符串 0 - 255字节(一次申请255字节,无论是否使用完)
    • varchar 变长字符串 0 - 65535字节(实际多少字节就存储多少字节)
    • text
  • 日期和时间

    • date yyyy-MM-dd
    • time hh:mm:ss
    • datetime yyyy-MM-dd hh:mm:ss
    • timestamp yyyy-MM-dd hh:mm:ss

主键

  • 主键 = 非空 + 唯一约束
  • 主键或唯一约束都可以针对多个字段设置,例如每个学校的学号都是从某个号码开始,那么就可以将学校和学号作为一个联合主键

DML:增删改查表内容

# 查询数据
select colName1, colName2, ... from tableName;

# 添加数据
insert into tableName(colName1, colName2, ...) values(colV1, colV2, ...);

# 更新数据
update tableName set colName1 = colV1 where colName2 = colV2;

# 删除数据
delete from tableName where colName1 = colV1;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值