mySql自学笔记一

本文介绍了数据库的基本概念,包括数据仓库、关系型与非关系型数据库的差异,以及数据类型如CHAR、VARCHAR、NVARCHAR等。讨论了建表时的约束如主键、唯一性、默认值和外键,并提到了权限管理的grant和revoke命令。此外,文章还涵盖了创建、修改和删除表的操作,以及插入、更新和删除数据的SQL语句。
摘要由CSDN通过智能技术生成

1、数据库介绍、建表、范式

 1.1 数据库介绍

数据库是“按照数据结构来组织、存储、管理数据的仓库”。是一个长期存储在计算机内的有组织的、可共享的、统一管理的大量数据的集合

数据库的由来: 规范化本地存储、加密、共享。

数据库分类:

1、关系数据库: 其实是二维表,典型代表mysql、oracle、SQL Server。是一种m:n、多对多的关系

2、非关系型数据库:也叫Nosql,是一维映射 key-value 典型代表: redis , MOngoDB。

数据类型介绍

字符串类型:

CHAR: 如果是CHAR(45),一定会占45个字节,如果存“hello”,存的结果就是’hello000000....“。

VARCHAR: VARCHAR(45)是可变长度,最大长度是45,如果存”hello“,那么存的就是”hello“。存中文的话,就是多字节,一个字符占用一个字节,最多可以存8千个字符,就是可以存8千字符。

NVACHAR:存中文的话就是unicode编码,宽字节,一个字符占用的是两个字节,最多可以存8千个字节,就是可以存4000个字符。

BIGININT: 64位整型

INT:32位整型

FLOAT:浮点型

DOUBLE: 精确度比较高的小数

其他类型:

DATATIME: 日期时间

TIME: 时间

ENUM: 枚举类型

建表约束: 主键:primary key, 只能一列是主键列,数据不能重复,不能为空 唯一: unique ,每个表中可以有多列是唯一列,数据不能重复,可以为空 默认值:default 非空: not null 自增: auto_increment 外键约束:

1、授予、取消临时权限 grant/ revoke

授予临时权限

#grant 权限名字 on 表名 to 用户名
grant insert on test to 20220919test;

取消临时权限

#revoke 权限名字 on 表名 from 用户名
revoke insert on test from 20220919test;

2、创建表 create

create table 表名(列名1 数据类型 建表约束,列名2 数据类型 建表约束2,.........)

create table test (id int primary key auto_increment,
                   name varchar(45) not null,
                  sex enum('男','女'),
                  age int default 18);      #默认年龄18

3、修改表 alter

3.1 增加列 add

alter table 表名  add column 列名  数据类型  约束

alter table test add column school int;

3.2 修改列的属性

alter table 表名 modify 列名 数据类型 约束

alter table test modify school varchar(45);

3.3 删除列 drop

alter table 表名 drop 列名

alter table test drop school;

3.4 删除表 drop

drop table 表名

drop table test;

3.5 插入数据 insert into

insert into 表名 values(值1,值2,.......); #按照建表的列顺序插入数据 不能有空列不插入

insert into 表名 (列名1,列名2,......) values(值1,值2,....); #指定列插入数据

insert into test values(1,'zys','男',25);
insert into test (name, sex) valuse('张三','男');
insert into test (name, sex) valuse('李四','女');
insert into test (name, sex) valuse('王五','男');
insert into test (name, sex) valuse('赵六','女');

4、修改数据 update ... set...

update 表名 set 列名 = 值 where 条件;

update test set age = 28 where name = 'zys';

5、删除数据 delete

delete from 表名 where 条件;

delete  from  test  where   id = 4;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值