[韩顺平MySQL]自学记录(1)

目录

 一、MySQL三层结构

1、创建数据库语句 

2、查看、删除数据库语句 

3、备份恢复数据库

 1)、备份数据库,在DOS执行

​编辑

​编辑

 2)、恢复

 4、创建表

​编辑

二、列表类型(列类

 1、int

2、bit 

 3、小数类型

​编辑

4、字符串

字符串使用细节 

细节1、

细节2、 

 细节3、

 细节4、

5、日期类型



 一、MySQL三层结构

1、创建数据库语句 

表的名字不要以数字开头

# 演示数据库的操作
 
#创建一个名称为 hsp_db01 的数据库。[图形化和指令 演示]
#使用指令创建数据库
CREATE DATABASE hsp_db01;
 
#删除数据库指令
DROP DATABASE hsp_db01
 
#创建一个使用 utf8 字符集的 hsp_db02 数据库
CREATE DATABASE hsp_db02 CHARACTER SET utf8
 
#创建一个使用 utf8 字符集,并带校对规则的 hsp_db03 数据库
CREATE DATABASE hsp_db03 CHARACTER SET utf8 COLLATE utf8_bin
 
#校对规则 utf8_bin 区分大小
默认 utf8_general_ci 不区分大小写
 
#下面是一条查询的 sql , select
查询 * 表示所有字段 FROM 从哪个表
 
#WHERE 从哪个字段 NAME = 'tom' 查询名字是 tom
 
SELECT *
        FROM t1
WHERE NAME = 'tom'

2、查看、删除数据库语句 

#演示删除和查询数据库
 
#查看当前数据库服务器中的所有数据库
SHOW DATABASES
 
#查看前面创建的 hsp_db01 数据库的定义信息
SHOW CREATE DATABASE hsp_db01
 
#老师说明 在创建数据库,表的时候,为了规避关键字,可以使用反引号解决
 
#删除前面创建的 hsp_db01 数据库
DROP DATABASE hsp_db01

查看当前数据库服务器中的所有数据库

 

查看前面创建的  数据库的定义信息

规避关键字->反引号` 

3、备份恢复数据库

#练习: database03.sql 备份 hsp_db02 和 hsp_db03 库中的数据,并恢复
 
#备份,
要在 Dos 下执行 mysqldump 指令其实在 mysql 安装目录\bin
 
#这个备份的文件,就是对应的 sql 语句
mysqldump -u root -p -B hsp_db02 hsp_db03 > d:\bak.sql
 
DROP DATABASE ecshop;
 
#恢复数据库(注意:进入 Mysql 命令行再执行)
source d:\bak.sql
 
#第二个恢复方法, 直接将 bak.sql 的内容放到查询编辑器中,执行

 1)、备份数据库,在DOS执行

出现sql文件 

 2)、恢复

先进入MySQL命令行

 

 或者全部复制运行即可

 若想复制数据库中某一个表:

 ​​​

mysqldump -u root -p lyt_db02 t2 > d:\bak.sql

 4、创建表

#使用指令创建表
 
#要求:hsp_db02 创建表时,要根据需保存的数据创建相应的列,并根据数据的类型定义相应的列类型。
 
例:user表 (快速入门案例 create_tab01.sql )
 
#id 整形
#name 字符串
#password 字符串
#birthday 日期
CREATE TABLE `user`(
        id INT,
        `name` VARCHAR(255),
        `passsword` VARCHAR(255),
        `birthday` DATE)
        CHARACTER SET utf8 COLLATE utf8_bin ENGINE INNODB#或者MYISAM

二、列表类型(列类

 1、int

演示

2、bit 

 实质上就是存储成二进制指定bit(m) m是8则0~255,查询时仍可按十进制查询

 

 3、小数类型

 

DECIMAL可以存放很大的数 

 

4、字符串

VARCHAR 变长  0~65535是字节 不同编码方式 每个字符所占字节不同

比如utf8  3个字节记录大小 剩余65532个字节,除以3  可记录21844字符

如果是gbk   ->  varchar(size)  size=(65535-3)/2=32766

varchar 的size也是字符,不是字节,不能超过65535个字节换算好的字符数

字符串使用细节 

细节1、

varchar占用了多少字节不一定,要根据编码方法换算

占位不区分字母还是数字

 

 

细节2、 

char(num) 定长 num是几 就开辟几个字节,不用也占用空间 会造成浪费

varchar(num)变长 实际占用空间不一定是num 

用多少会按实际占用空间分配(本身用1-3字节存放内容长度

L(实际数据大小)+(1-3)字节大小

 

 细节3、

定长数据用char 查询速度比varchar快

 细节4、

如果varchar不够用-> 用mediumtext 或者longtext

想简单点-> 直接用text

 

所占字节: 6*3     6*3+3    3*3+7  (和varchar不同点: 数字字母符号占一个字节

5、日期类型

DATA->年-月-日

DATATIME->年-月-日 时:分:秒

TIMESTAMP->时间戳 自动更新(要配置

 

 时间戳TIMESTUMP不用赋值自动填入当前时间

如果完美更新表的内容,timestamp依然自动以当前时间进行更新

 

代码

CREATE TABLE t7(
        birthady DATE,
				job_time DATETIME,
				#在修改时自动以当前时间更新
				login_time TIMESTAMP not null DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP);
INSERT INTO t7(birthady,job_time) VALUES('2023-02-01','2023-02-01 17:23:23');
SELECT * FROM t7

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值