MySQL学习笔记(2)

本文详细介绍了MySQL数据库的基本操作,包括查看和选择数据库、创建和删除数据库及表、插入和删除数据。同时,讨论了各种数据类型,如整数、小数、字符串、时间等,并特别提到了外键的概念及其在表间关联中的作用。此外,还展示了如何使用外键创建参照完整性的示例。
摘要由CSDN通过智能技术生成

目录

MySQL操作数据库

查看,选择数据库

创建、删除数据库或者表

插入、删除数据

数据类型

数字:

整数

小数

字符串:

时间:

其他

外键


MySQL操作数据库

查看,选择数据库

use db1;-- 切换到某个数据库并使用
show databases;-- 显示当前全部数据库
show tables;-- 显示当前数据库中所有表
select * from t1;-- 选取表中指定、全部列
describe t1; -- 显示表的所有内容(外键等)

创建、删除数据库或者表

-- 对数据库:
create database db1; -- 创建数据库
drop database db1;-- 删除数据库
create table t1(id int auto_increment primary key,
name char(10),
class int not null default 1) engine = innodb;-- 创建表
drop table t1;-- 删除表
delete from t1; -- 清空表(保持自增
truncate from t1; -- 清空表(归零
-- innodb: 原子性操作 myisam:非原子性操作
-- auto_increment:自增
-- primary key: 表示约束,不能重复且不为空

插入、删除数据

insert into t1(id,name) values (1,'小明'); -- 将特定数据插入表
delete from t1 where id < 6;-- 删除数据
update t1 set age = 18; -- 修改age列全部行为18
update t1 set age = 18 where age = 17;-- 限制仅修改age = 17的

数据类型

数字:

整数

(unsigned/signed) bigint 表示数字最多

int 中等

tinyint 最少

小数

float,double:double更准确,但都不准

decimal永远精准(底层为字符串)

举例

create table t1(
num decimal(10,5)
); -- 前一位表示总位数,后面表示小数点后位数

字符串:

char(10)

varchar(10)

char定长好查找,varchar变长节省空间,先存char后存varchar

text,mediumtext,longtext

时间:

DATE

TIME 

YEAR

DATETIME 最重要

TIMESTAMP

其他

enum 枚举

set 集合

BLOB TEXT 长串文字结构

外键

可以理解为和其他表的索引,方便将复杂且重复的表项用数字表示

举例

       Table: subject
Create Table: CREATE TABLE `subject` (
  `id` int NOT NULL AUTO_INCREMENT,
  `title` char(15) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

       Table: t1
Create Table: CREATE TABLE `t1` (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` varchar(20) DEFAULT NULL,
  `subject` int DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `s_id` (`subject`),
  CONSTRAINT `s_id` FOREIGN KEY (`subject`) REFERENCES `subject` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=34 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

外键用foreign key表示,这里将subject 的学科和t1中的数字关联,由此之后填表无需输入学科名称,只需插入数字即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值