MySQL基础知识(全)

MySQL基础知识梳理,常用的SQL等
摘要由CSDN通过智能技术生成

MySQL Tutorials

1、概述

目前属于Oracle,分成社区版和企业版关系型数据库

1.1 目录结构

  1. bin:存储可执行文件
  2. data:存储数据文件
  3. doc:文档
  4. include:存储包含头文件
  5. lib:存储库文件
  6. share:错误消息和字符集

配置文件:my.ini

1.2 启动和停止

在win cmd中使用net start/stop mysql来启动和停止mysql服务

1.3 登入和登出

1.3.1 登入
mysql -uuer_name -ppassword -Pport -hhost

可以只使用mysql -uuser_name -ppasswrod来开启,后面的可以使用默认的值。-P是指端口号,默认3306。-h是指地址,默认127.0.0.1。

1.3.2 登出

在MySQL命令窗口输入:exit, quit\q之中任意一个即可。

1.4 修改输入提示符

在登入时,通过-prompt来指定提示符,或者在处于命令行时使用prompt来指定。

在指定提示符的时候可以使用\D, \d, \h\u来指示提示符显示当前的日期、数据库、服务器和用户。

1.5 查询数据库信息

使用SELECT VERSION(), SELECT NOW(), SELECT USER(), SELECT DATABASE()可以分别用来显示当前的数据库版本、时间、操作用户和数据库。

1.6 注释

  1. 行注释:--
  2. 多行注释:/**/

1.7 约定

数据库操作指令大写;数据库相关的名称小写,且单词之间用下划线分开。

1.8 关于字符编码

查看mysql中当前编码

show variables like 'char%

查看数据表的编码格式

mysql> show create table <表名>;

创建数据库时指定数据库的字符集

mysql>create database <数据库名> character set utf8;

创建数据表时指定数据表的编码格式

create table tb_books (
    name varchar(45) not null,
    price double not null,
    bookCount int not null,
    author varchar(45) not null ) default charset = utf8;

修改数据库的编码格式

mysql>alter database <数据库名> character set utf8;

修改数据表格编码格式

mysql>alter table <表名> character set utf8;

修改字段编码格式

mysql>alter table <表名> change <字段名> <字段名> <类型> character set utf8;

window命令行中中文乱码问题,连接之后使用

set names gbk;

2、数据库操作

2.1 创建

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name 
[DEFAULT] CHARACTER SET [=] character_name
  1. DEFAULT用来说明使用默认编码方式。默认编码方式通过配置文件my.ini
    中的default-character-set中指定。
  2. CHARACTER SET [=] character_name用来指定数据库的字符编码方式。
  3. 有了IF NOT EXISTS当指定数据库已经存在的时候,就不会报错了,否则会报错,但是报的错还是可以查找到的。

建立表的时候使用备注:

CREATE TABLE test_table (
    test_grade int DEFAULT 1 COMMENT '等级'
) COMMENT = '测试表';

2.2 显示创建数据库的SQL语句

SHOW CREATE DATABASE db_name;

类似的,还有显示表的创建的SQL语句:SHOW CREATE TABLE tbl_name;

2.3 修改

修改数据库的字符编码方式的语句:

ALTER {DATABASE|SCHEMA} [DEFAULT] CHARACTER SET [=] charset_name;

2.4 删除

DROP {DATABASE|SCHEMA} [IF EXISTS] db_name

2.5 显示当前所有数据库

SHOW DATABASES;

类似的,有SHOW TABLES [FROM db_name]用于显示当前数据库(或指定数据库)下面的所有表。

3、数据类型

3.1 整型

整数分为有符号和无符号的,通过UNSIGNED指定。(取值范围和C语言中的类型范围一样)

  1. TiNYINT:1字节
  2. SMALLINT:2字节
  3. MEDIUMINT:3字节
  4. INT:4字节
  5. BIGINT:8字节

3.2 浮点型

浮点数也分为有符号的和无符号的。如下所示,前面的m指定了总的位数,后面的n指定了小数的位数,所以整数位数为m-n. 和C语言中的float和double范围一样。

  1. FLOAT[(m,n)]:
  2. DOUBLE[(m,n)]:
  3. DECIMAL[(m,n)]:适用于高精度要求的场景

3.3 时间类型

  1. YEAR:1字节,格式YYYY,范围1901-2155,零值0000
  2. TIME:3字节,格式HH:MM:SS,范围-838:59:59-838:59:59,零值00:00:00
  3. DATE:4字节,格式YYYY-MM-DD,范围1000-01-01-9999-12-31,零值0000-00-00
  4. DATETIME:8字节,格式YYYY-MM-DD HH:MM:SS,范围1000-01-01 00:00:00-9999-12-31 23:59:59,零值0000-00-00 00:00:00
  5. TIMESTAMP:4字节,格式YYYY-MM-DD HH:MM:SS,范围19700101080001-2038年的某个时刻,零值00000000000000

或者使用时间戳,用BIGINT保存指定时间的毫秒值。

3.4 字符型

  1. CHAR(m):m字节,0<=m<=255
  2. VARCHAR(m):L+1字节,L<=m<=65535
  3. TINYTEXT:L+1字节,L<28
  4. TEXT:L+2字节,L<216
  5. MEDIUMEXT:L+3字节,L<224
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值