mysql 数据库客户端_MySQL客户端功能及SQL

之前写过MySQL在各平台的安装过程,本文主要描述了客户端对于数据库的操作。

07809fd669fae9451c512a309b814935.pngMySQL客户端功能及SQL简介

连接数据库

连接服务端参数简介

-u 指定用户-p 指定密码-S 指定Sock文件-h 指定主机名称-P 指定端口-e 不交互,执行sql语句< 导入数据source 导入数据

示例:

#-----使用Sock连接mysql -uroot -p -S /tmp/mysql.sock#-----使用TCP/IP连接mysql -uroot -p -h 10.0.0.1 -P3306#-----使用默认Sock连接,并且查看数据库mysql -uroot -proot -e "show databases;"#############返回结果############################mysql: [Warning] Using a password on the command line interface can be insecure.+--------------------+| Database |+--------------------+| information_schema || mysql || performance_schema || sys |+--------------------+#############返回结果#############################-----将创建数据库语句写入到文件中echo "create database db01 charset utf8;" > /root/db01.sql#-----非交互式执行sql语句文件mysql -uroot -proot

常用内置命令

help 打印mysql帮助\c 终止当前语句执行\q 退出\G 格式化查询结果source 恢复备份文件source /root/db01.sql;

SQL基础应用

SQL介绍

结构化的查询语言,是关系型数据库通用的命令,遵循SQL92的标准(SQL_MODE)。

SQL种类

DDL 数据定义语言DCL 数据控制语言DML 数据操作语言DQL 数据查询语言SQL引入数据库的逻辑结构

库名字库属性:字符集和校对规则表

表名表属性:存储引擎类型,字符集,排序规则列名列属性:数据类型、约束、其他属性数据行字符集

相当于MySQL的密码本(编码表)

默认字符集为latin1,推荐使用utf8mb4

utf8字符集占三个字节

utf8mb4字符集占四个字节,虽然占用的空间多,但是支持的字符种类更完全,MySQL8.0l默认使用utf8mb4字符集,支持emoji

#查看字符集show charset;

排序规则:collation

对于英文字符串大小写的敏感

校对规则跟着字符集,如果不设置,则使用默认设置的字符集与排序规则

utf8mb4generalci 大小写不敏感

utf8mb4_bin 大小写敏感(存拼音、日文)

#查看排序规则show collation;

数据库常用数据类型

数字

c08ea4a0f2e20e59a8e89aae9cd69578.png数据库常用数据类型

数据库常用数据类型

整数

tinyint 极小的整数数据类型(0-255)

int 常规整数数据类型(-2^32-2^32-1)

浮点

字符串

char(100) 定长的字符串类型,不管存储的字符串长度多长,都立即分配100个字符长度的存储空间,未填满的空间,以空格填充,char可以存储255个字符

varchar(100) 变长的字符串类型,每次存储前,都要先判断一下长度,按需要分配磁盘空间,会单独申请一个字符长度的空间存储字符长度(字符长度小于255,如果超过255以上的字符串长度,会占用两个存储空间),varchar最多可以存储65535个字符

如何选择这两种存储类型呢?

少于255个字符串长度,定长的列值,选择char多于255个字符长度,变长的列值,选择varchar悬念,以上数据类型可能会影响到索引的性能

enum 枚举数据类型

address enum('sz','sh','bj'....)

编号 1 2 3

将编号与地址关联起来,在程序中选择编号,提升性能

时间

819c6881a0fd8533b457792ca0fab155.png时间

时间

date YYYY-MM-DDTIME hh:mm:ss[.uuuuu]datetime YYYY-MM-DD hh:mm:ss[.uuuuu]

范围从 1000-01-01 00:00:00.0000000 至 9999-12-31 23:59:59.99999

timestamp YYYY-MM-DD hh:mm:ss[.uuuuu]

范围从 1970-01-01 00:00:00.0000000 至 2038-01-19 03:14:07.99999

以后会使用datetime这种格式,它的时间范围更大

timestamp会自动跟着时区变化,datetime不会

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值