数据库

51 阅读2分钟

自学数据库笔记

什么是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

数据类型的选择要求:

  1. 根据存储的数据值的不同选择合适的数据类型
  2. 同样的数据类型,满足后续需求的前提下,尽量选择范围小的节省空间

数据的约束条件:

  • 在数据类型限定的基础上的额外要求,一共有五大类的约束。
  • 主键约束:一个表中只能拥有一个主键,必须非空,是唯一标识,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 列名;