自学数据库笔记
什么是sql呢?是一种结构性语言,对数据库中的数据进行增删改查。
SQL的四大类
- DDL:数据定义,定义数据库对象,数据库,表,列
- DML:对数据库中的表增删改
- DQL:查询数据库中的表的记录是学习数据库的重点
- DCL:数据控制,定义数据库访问权限和安全级别和创建用户
sql 注意事项
- sql语句以分号结尾
- 不区分大小写,但是关键字建议大写
- /**/ -- # 是注释
- 使用空格和缩进增加可读性
基本命令
#连接本地的命令
MySQL - uroot -p
mysql -h 数据库服务端ip -p 数据库服务端 端口 - u 用户名 -p 密码
复制代码
关于DDL的相关命令
DDL关于库的相关命令
-- 创建数据库
create DataBase [IF NOT EXISTS]数据库名 [default charset=utf8]
--
查看库和使用库:
Show databases;
use 数据库名;
--删除库
Drop databases 数据库名; --慎用***
复制代码
关于表的相关知识点和命令
数据类型:
- 整形:int tinyint small mediumint bight
- 字符串:char(固定长度) varchar(变化长度) text
- enum(xxx,yyy)枚举类型
- 字段类型:小数相关
- float
- double
- decimal(m,n)与钱相关,m代表数字,n代表保留小数几位长度
- 日期时间等
- date time datetime
数据类型的选择要求:
- 根据存储的数据值的不同选择合适的数据类型
- 同样的数据类型,满足后续需求的前提下,尽量选择范围小的节省空间
数据的约束条件:
- 在数据类型限定的基础上的额外要求,一共有五大类的约束。
- 主键约束:一个表中只能拥有一个主键,必须非空,是唯一标识,auto_increment与主键一起使用
- (primary key)
- 非空:(not null)不允许为空值
- 惟一 (unique):一个表中可以有多个,而且值可以为空
- 默认(default):默认值
- 外键(foreign key):表示两个表的关联关系,插入,修改,删除时都会到另外一张表中检查是否关联,数据是否合法。
-- 创建表
create table 表名 (
数据类型
)default charset=utf8;
--查看表
show tale;
--查看指定的数据表的结构信息
desc 表名;
-- 重命名表
rename table 原表名 to 新表名;
--删除表
drop table 表名;
表的增删改命令
Alter table 表名 ADD 列名 类型(长度) [约束];
-- 约束条件按需增加,也可没有约束, 类型必须填写,且只有一个
-- 表字段不能重复
-- 如果列名和关键字相同,需要在列名两边加上``
-- 修改表字段
ALTER TABLE 表名 change 旧列名 新列名 类型(长度) [约束];
-- 删除
ALTER table 表名 drop 列名;