MySQL基础内容

命令

#启动命令
net start mysql
#关闭命令
net stop mysql
#进入MySQL服务
mysql -u root -p密码 --default-character-set=utf8
#执行mysql脚本
source 地址/xx.sql。
#推出mysql
exit
--创建表格式
CREATE TABLE [IF NOT EXISTS] `表名`(
	'字段名' 列类型 [属性] [索引] [注释],
    ......
    '字段名' 列类型 [属性] [索引] [注释],
    PRIMARY KEY(`id`)
)[表类型] [字符集设置] [注释]
/*
例子:
*/
DROP TABLE IF EXISTS `表名`;
CREATE TABLE `表名`  (
  `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期',
  `age` int(11) NULL DEFAULT NULL COMMENT '年龄',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

------------其它操作-----------
--查看创建数据库的语句
SHOW CREATE DATABASE `数据库名`
--查看数据表的定义语句
SHOW CREATE TABLE `表名`
--显示表的结构
DESC `表明`

数据表的类型

--关于数据库引擎
INNODB  --默认使用
MYISAM  --早些年使用
MYISAMINNODB
事务支持不支持支持
数据行锁定不支持支持
外键约束不支持支持
全文索引支持不支持
表空间的大小较小较大,约为两倍

常规使用操作:

INNODB :安全性较高,事务的处理,多表多用户操作
MYISAM :节约空间,速度较快

事务

要么都成功,要么都失败。

四大特性:ACID

参考链接:https://baijiahao.baidu.com/s?id=1698925556545895402&wfr=spider&for=pc

索引

添加索引可以加快查询速度。

命名规则:id _ 表名 _ 字段名

索引分类:

​ 主键索引(PRIMARY KEY) ,唯一标识,不可重复,只能有一个列作为主键。

​ 唯一索引(UNIQUE KEY) ,避免重复的列出现,唯一索引可重复,多个列都可以标识 唯一索引。

​ 常规索引 (KEY/INDEX),默认的,index。key关键字来设置。

​ 全文索引 (FullText),在特定的数据库引擎下才有,MyISAM,快速定位数据。

#显示所有索引信息
SHOW INDEX FROM `表名`

索引原则:

​ 索引不是越多越好

​ 不要对进程变动数据加索引

​ 小数据量的表不要加索引

​ 索引一般加在常用的查询字段上

备份

1、通过数据库管理软件,导出或者导入sql语句。

2、使用命令行导出数据库或者数据空中的表

 #导出
 #mysqldump -h 主机 -u 用户名 -p 密码 数据库 表明 >物理磁盘位置/文件名
 mysqldump -hlocalhost -uroot -p123456 数据库名 [表名] >D:/A.sql
 
 #导入
 #在命令行进入mysql
 source 地址/xx.sql。

规范数据库设计

为什么数据要规范化:

​ 避免数据重复

​ 更新异常

​ 插入异常(无法正常显示信息)

​ 删除异常

三大范式:
 第一范式:要求数据库表的每一列都是不可分割的原子数据项。

​ 第二范式:前提,满足第一范式。 每张表只描述一件事情。

​ 第三范式:前提,满足第一范式和第二范式。确保数据表中的每一列数据都和主键直接相关,而不能间接相关。

规范性与性能问题?

关联查询的表不得超过三张。(阿里的规范)

​ 考虑商业化的需求和目标,数据库的性能更加重要。

​ 在规范性能的问题的时候,需要适当考虑一下 规范性!

​ 故意给某些表增加一些冗余的字段。(从多表查询中变为单表查询)

​ 故意增加一些计算列(从大数据量降低为小数据量的查询:索引)

JDBC

SUN公司为了简化开发人员的对数据库的统一操作,提供了一个Java操作数据库的规范,俗称 JDBC。

这些规范的实现由具体的厂商去做。

参考链接:JDBC-KuangStudy-文章

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值