学习MySQL的第二天

举报
多米诺的古牌 发表于 2021/02/25 17:13:50 2021/02/25
【摘要】 1.1 数据库分类 1.1.1 关系型数据库 通过表与表之间的关系,行与列之间的关系进行数据存储 1.1.2 菲关系型数据库(NoSql == not only sql) 对象存储,通过对象自身的属性来决定1.2 基本命令 1.2.1 数据库操作 1.2.1.1 show databases; --查看所有的数据库 1.2.1.2 use XXX数据库; --切换数据库 1.2...
1.1 数据库分类
	1.1.1 关系型数据库 
		通过表与表之间的关系,行与列之间的关系进行数据存储
	1.1.2 菲关系型数据库(NoSql == not only sql)
		对象存储,通过对象自身的属性来决定

1.2 基本命令
	1.2.1 数据库操作
		1.2.1.1 show databases; --查看所有的数据库 
		1.2.1.2 use XXX数据库; --切换数据库
		1.2.1.3 show tables; -- 查看数据库中的所有的表
		1.2.1.4 desc XXX表; -- 查看表结构
		1.2.1.5 describe XXX表; -- 查看XX表的数据
		1.2.1.6 create database [if not exists] XXX; -- 创建XXX数据库
		1.2.1.7 drop database [if exists] XXX; -- 移除数据库
		注:如果表名或者字段名是特殊字符 需要加``,eg: use 'school';
	1.2.2 列的类别
		1.2.2.1 数值
			tinyint 十分小的数据 1个字节
			smallint 较小的数据 2个字节
			mediumint 中等大小的数据 3个字节
			**int 标准整数 4个字节 常用**
			bigint 较大的数据 8个字节
			float 浮点数 4个字节
			double 浮点数 8个字节
			decimal 字符串形式的浮点数 金融计算时使用		
		1.2.2.2 字符串
			char 字符串固定大小的 0-255
			**varchar 可变字符串 0-65535 常用**
			tinytext 微型文本 2^8 - 1
			**text 文本串 2^16 - 1**
		1.2.2.3 日期和时间
			date YYYY-MM-DD 日期
			time HH:mm:ss 时分秒
			**datetime YY-MM-DD HH:mm:ss 最常用的时间格式**
			**timestamp 时间戳 1970.1.1 到现在的毫秒数**
			year 年份
		1.2.2.4 null
			没有值,未知
			注:不要使用null进行运算,结果一定位null
	1.2.3 sqlyog中字段属性
		1.2.3.1 Unsigned
			.无符号的整数,声明了该列不能为负数
		1.2.3.2 Zerofill
			.0填充,不足的位数,使用0填充
		1.2.3.3 自增
			自动在上一条的基础上+1(默认),可以设置初始值和步长
		1.2.3.4 非空 not null
	1.2.4 创建表
		create table XXX(
			`字段名` 类型 默认值 索引 注释
		)engine=innodb default charset=utf8; -- (数据库引擎(表类型) 字符集)
		eg:
		CREATE TABLE IF NOT EXISTS student(
			`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '主键',
			`name` VARCHAR(20) DEFAULT '匿名' COMMENT '姓名',
			`pwd` VARCHAR(20) DEFAULT '12345' COMMENT '密码',
			`sex` VARCHAR(2) DEFAULT '男' COMMENT '性别',
			`brithday` DATETIME DEFAULT NULL COMMENT '出生日期',
			address VARCHAR(100) DEFAULT NULL COMMENT '地址', 
			email VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
			PRIMARY KEY(`id`)
		)ENGINE=INNODB DEFAULT CHARSET=utf8
		show create database XXX; --查看数据库创建sql
		show create table XXX; --查看表创建sql
	1.2.5 数据库类型
		1.2.5.1 INNODB 默认
		安全性高,支持事务,多表多用户操作
			支持事务
			支持行锁定
			支持外键
			不支持全文索引
			较大 越为MYISAM的两倍
			物理文件的存储 只有 .frm 文件和备份文件 以及 上级目录的ibdata1文件
		1.2.5.2 MYISAM 
		之前使用5.5以前版本,节约空间,速度快
			不支持事务
			不支持行锁定
			不支持外键
			支持全文索引
			较小
			物理文件的存储 
				.frm 表结构的定义文件
				.MYD 数据文件(data)
				.MYI 索引文件(index)
		注:所有的数据都存在data目录下,本质是文件的存储
	1.2.5 修改表
		1.2.5.1 修改表名
			alter table 旧的XXX表 rename as 新的表名;
		1.2.5.2 增加字段
			alter table XXX表 add XXX字段 列属性;
		1.2.5.3 修改约束和重命名
			alter table XXX表 modify XXX字段 列属性; -- 不能重命名 只能修改字段的类型和约束
			alter table XXX表 change 旧的XXX字段 新的XXX字段 列属性; -- 能重命名,能修改字段的类型和约束
		1.2.5.4 删除的表的字段
			alter table XXX表 drop XXX字段; -- 删除表的字段
	1.2.6 删除表
		drop table if exists XXX表;
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。