MySQL-SQL简介、管理逻辑库和数据表-学习笔记04

本文是关于MySQL的学习笔记,介绍了SQL语句的分类和使用,包括DML、DCL和DDL。详细讲解了如何创建、管理逻辑库和数据表,涉及数据类型如数字、字符串和日期,以及字段约束如主键、非空和唯一约束。此外,还讨论了数据库的范式理论和索引机制。
摘要由CSDN通过智能技术生成

零. 命令表

这篇文章比较长,出现的命令比较多。在这里先将本文出现的命令总结一下

命令 解释
注释 # 这是一段注释/*这也是一段注释*/ 注释的方法
逻辑库 CREATE DATABASE demo; 创建逻辑库
SHOW DATABASES; show所有的逻辑库
DROP DATABASES demo; 删除逻辑库
数据表 CREATE TABLE 数据表(
列表1 数据类型 [约束] [COMMENT 注释],...
)[COMMENT 注释]
创建数据表
INSERT INTO 数据表 VALUES(数据); 插入数据
SHOW tables; 查看当前逻辑库内的数据表,返回数据表名
DESC 数据表; 查看数据表的具体情况
SHOW CREATE TABLE 数据表; 查询建表时的语句
DROP TABLE 数据表; 删除数据表student
修改表结构
都以ALTER TABLE 表名称换行开始
ADD 列表1 数据类型 [约束] [COMMENT 注释]; 添加字段(相当于添加一列)
MODIFY 列表1 数据类型 [约束] [COMMENT 注释]; 修改字段类型和约束
CHANGE 列1 新列名1 数据类型 [约束] [COMMENT 注释]; 修改字段名称
DROP 列1; 删除字段
字段约束 PRIMARY KEY 主键约束:字段值唯一,且不能为NULL
NOT NULL 非空约束:字段值不能为NULL
UNIQUE 唯一约束:字段值唯一,且可以为NULL
NOT NULL UNIQUE 不是主键约束且要求非空唯一
FOREIGN KEY 外键约束:保持关联数据的逻辑性(不推荐使用,防止外键闭环)
索引 INDEX [索引名称](字段), 创建数据表时,可以用这个添加索引
CREATE INDEX 索引名 ON 表名 (字段); 添加索引
ALTER TABLE 表名称 ADD INDEX [索引名] (字段); 添加索引
SHOW INDEX FROM 表名; 看某张数据表的所有索引
DROP INDEX 索引名 ON 表名; 删除索引以及对应的二叉树
  • 数字类型
类型 大小(byte) 说明
TINYINT 1 小整数
SMALLINT 2 普通整数
MEDIUMINT 3 普通整数
INT 4 较大整数
BIGINT 8 大整数
FLOAT 4 单精度浮点数
DOUBLE 8 双精度浮点数
DECIMAL ----- 精确小数类型,DECIMAL(10, 2)
一共10个字符,2代表保留到小数点后两位,可以自己定
CHAR 1-255 固定长度字符串
VARCHAR 1-65535 不固定长度字符串
TEXT 1-65535 不确定长度字符串
MEDIUMTEXT 1-1千6百万 不确定长度字符串
LONGTEXT 1-42亿 不确定长度字符串
DATE 3 只有日期,没有时间 '2022-05-10'
TIME 3 时间
YEAR 1 年份
DATETIME 8 包括日期和时间
TIMESTAMP 4 时间戳,包括日期和时间

一. SQL语句

  • SQL是用于访问和处理数据的标准计算机语言
  • SQL语言分类:
    • DML:添加、修改、删除、查询
    • DCL:用户、权限、事物
    • DDL:逻辑库、数据表、视图、索引
  • SQL语句注意事项
    • 不区分大小写,但字符串区分大小写 SELECT "HelloWorld";
    • SQL语句必须以分号结尾
    • SQL语句中的空白和换行没有限制,但是不能破坏语法
  • SQL语言注释
    • # 这是一段注释/*这也是一段注释*/

二. 管理逻辑库

2.1 创建逻辑库

  • 用的是DDL的语句
CREATE DATABASE demo; #名称用英文或英文加数字
SHOW DATABASES; #show所有逻辑库
DROP DATABASES demo; #删除逻辑库

2.2 数据表

2.2.1 创建数据表和插入数据

CREATE TABLE 数据表(
	列表1 数据类型 [约束] [COMMENT 注释],
	列表2 数据类型 [约束] [COMMENT 注释],
	...
)[COMMENT = 注释];

举个例子,在test这个逻辑库内创建数据表student

USE test;
CREATE TABLE student(
	id INT UNSIGNED PRIMARY KEY, #学号, primary key代表不能保存重复数值
	name VARCHAR(20) NOT NULL, #VARCHAR(20)代表字符串最大长度为20,not null代表非空
	sex CHAR(1) NOT NULL, #char(1)固定一个字符(上面的varchar不固定)
	birthday DATE NOT 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值