数据定义语言DDL

数据库的增删改查

  • 查看数据库:show databases;
  • 创建数据库:create database 数据库名称;

注:数据库名称不能与SQL关键字相同,也不能重复

  • 选择使用数据库:use 数据库名称;
  • 删除数据库:drop database 数据库名称;

数据表的增删改查

  • 创建数据表:create table 表名(…);
    创建表之前要先选择进入数据库:use 数据库名称;
    建表时可以不指定约束条件,但是必须指定表名、字段名及每个字段的数据类型。
    表名不能与SQL关键字相同,同一个数据库下的表名不能重复。

  • 查看当前数据库中所有表:show tables;

  • 查看表结构:desc 表名;

  • 删除数据表:drop table 表名;

数值型

在这里插入图片描述

字符串型

在这里插入图片描述

日期时间型

在这里插入图片描述

MySQL常用数据类型

  • int:大整数型,有符号大小-2147483648~2147483647, 无符号大小0~4294967295,默认长度最多为11个数字,如int(11)。
  • float:单精度浮点型,默认float(10,2),表示最多10个数字,其中有2位小数。
  • decimal:十进制小数型,适合金额、价格等对精度要求较高的数据存储。默认decimal(10,0),表示最多10位数字,其中0位小数。
  • char:固定长度字符串型,长度为1-255。如果长度小于指定长度,右边填充空格。如果不指定长度,默认为1。如char(10),‘abc '。
  • varchar:可变长度字符串型,长度为1-255。必须指定长度,如varchar(10),‘abc’。
  • text:长文本字符串型,最大长度65535,不能指定长度。
  • date:日期型,‘yyyy-MM-dd’。
  • time:时间型,‘hh:mm:ss’。
  • datetime:日期时间型,‘yyyy-MM-dd hh:mm:ss’。
  • Timestamp:时间戳,在1970-01-01 00:00:00和2037-12-31 23:59:59之间,如1973-12-30 15:30,时间戳为:19731230153000。
    字符串类型和日期时间类型都需要用引号括起来。

约束条件

  • 约束条件是在表上强征执行的数据检验规则。
  • 用来保证创建的表的数据完整性和准确性
  • 主要在两方面对数据进行约束:空值和重复值。

MySQL数据库常用约束条件

在这里插入图片描述

主键约束(primary key)

  • 每个表中只能有一个主键

  • 主键值须非空不重复

  • 可设置单字段主键,也可设置多字段联合主键
    联合主键中多个字段的取值完全相同时,才违反主键约束

  • 添加主键约束:
    列级添加主键约束:create table <表名>(<字段名1><字段类型1> primary key,…<字段名n> <字段类型n>);
    表级添加主键约束:create table <表名>(<字段名1> <字段类型1>,…<字段名n> <字段类型n>,[constraint 主键约束名] primary key(字段名1[,字段名2,…字段名n]));

唯一约束

  • 指定字段的取值不能重复,可以为空,但只能出现一个空值
  • 添加唯一约束:
    列级添加唯一约束:create table <表名> (<字段名1> <字段类型1> unique,……<字段名n> <字段类型n>);
    表级添加唯一约束:create table <表名> (<字段名1> <字段类型1,……<字段名n> <字段类型n>,[constraint 唯一约束名] unique (字段名1[,字段名2…字段名n]));

自动增长列(auto_increment)

  • 指定字段的取值自动生成,默认从1开始,每增加一条记录,该字段的取值会加1
  • 只适用于整数型,配合主键一起使用
  • 创建自动增长约束:create table <表名> (<字段名1> <字段类型1> primary key auto_increment,……<字段名n> <字段类型n>);

非空约束(not null)

  • 字段的值不能为空
  • 创建非空约束:create table <表名> (<字段名1> <字段类型1> not null,……<字段名n> <字段类型n>);

默认约束(default)

  • 如果新插入一条记录时没有为该字段赋值,系统会自动为这个字段赋值为默认约束设定的值
  • 创建默认约束:create table <表名> (<字段名1> <字段类型1> default value,……<字段名n> <字段类型n>);

外键约束(foreign key)

在一张表中执行数据插入、更新、删除等操作时,DBMS都会跟另一张表进行对照,避免不规范的操作,以确保数据存储的完整性。

  • 某一表中某字段的值依赖于另一张表中某字段的值
  • 主键所在的表为主表,外键所在的表为从表
  • 每一个外键值必须与另一个表中的主键值相对应
  • 创建外键约束:create table <表名> (<字段名1> <字段类型1>,……<字段名n> <字段类型n>,[constraint 外键约束名]
    foreign key(字段名) references <主表>(主键字段));

修改数据表

修改数据库中已经存在的数据表的结构。

  • 修改表名:alter table 原表名 rename 新表名;
  • 修改字段名:alter table 表名 change 原字段名 新字段名 数据类型;
  • 修改字段类型:alter table 表名 modify 字段名 新数据类型;
  • 添加字段:alter table 表名 add 新字段名 数据类型;
  • 修改字段的排列位置:
    alter table 表名 modify 字段名 数据类型 first;
    alter table 表名 modify 要排序的字段名 数据类型 after 参照字段;
  • 删除字段:alter table 表名 drop 字段名;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值