MySQL-数据类型和DDL

一些相关的概念

DB(Data Base):数据库,是存储数据的仓库,数据是有组织的进行存储。

DBMS(Data Base Management System):数据库管理系统,操纵和管理数据库的大型软件

MySQL酱紫的。

SQL(Structured Query Language):操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准。

RDBMS:关系型数据库,建立在关系模型基础上,有多张相互连接的二维表组成的数据库。

用表存储数据的,就是关系型数据库。

启动MySQLnet start mysql80

停止MySQLnet stop mysql80

(PS:MySQL 开机自动启动)

客户端连接mysql -u root -p

(上述方法需配置环境变量)

SQL分类

分类英格利斯说明
DDLData Definition Language定义语言,用来定义数据库对象(数据库,表,字段)。
DMLData Manipulation Language操作语言,对数据库中的数据进行增删改。
DQLData Query Language查询语言,查询数据库中表的记录。
DCLData Control Language控制语言,创建数据库用户、控制数据库的访问权限。

数据类型

数值类型
类型大小有符号范围无符号范围
TINYINT1byte(-127,128)(0,255)
SMALLINT2bytes(-32768,32767)(0,65535)
MEDIUMINT3bytes(-8388608,8388607)(0,16777215)
INT4bytes(-2147483648,2147483647)(0,4294967295)
BIGINT8bytes(- 2 63 2^{63} 263, 2 63 2^{63} 263-1)(0, 2 64 2^{64} 264-1)
FLOAT4bytes(-3.402823E+38,3.402823E+38)0和(1.175494E-38,3.402823E+38)
DOUBLE8bytes(-1.797693E+308,1.797693E+308)0和(2.225073E-308,1.797693E+308)
DECIMAL-依赖M(精度)和D(标度)的值依赖M(精度)和D(标度)的值

DECIMAL是用于精确表述小数的,精度表示整个的长度,标度表示小数所占的长度。

123.45 M=5 D=2

在使用DOUBLE的时候,需要指定整个的长度以及小数所占的长度,即M与D。

sorce double(4,1)# M=4 100.0,D=1 0.1
字符类型
类型大小(byres)描述
CHAR0~255定长字符串
VARCHAR0~65535变长字符串
TINYBLOB0~255不超过255个字符的二进制数据
TINYTEXT0~255短文本字符串
BLOB0~65535二进制形式的长文本数据
TEXT0~65535长文本数据
MEDIUMBLOB0~16777215二进制的中等长度文本数据
MEDIUMTEXT0~16777215中等长度文本数据
LONGBLOB0~4294967295二进制的极大文本数据
LONGTEXT0~4294967295极大文本数据

BLOB:二进制数据,相对使用较少;TEXT:文本数据

定长字符串与变长字符串

  • char(10)预留出10个字符的空间,未填部位采用空格补位。
  • varchar(10)根据当前存储的字符计算存储需要空间,最多不超过10个字符 。
  • char的性能更好(没有多余的计算空间)
日期类型
类型大小格式描述
DATE3YYYY-MM-DD日期值
TIME3HH:MM:SS时间值or持续时间
YEAR1YYYY年份值
DATETIME8YYYY-MM-DD HH:MM:SS混合日期and时间值
TIMESTAMP4YYYY-MM-DD HH:MM:SS混合日期and时间值、时间戳

DATETIMETIMESTAMP的时间表示范围不同:TIMESTAMP至2038-01-19 03:14:07,DATETIME至9999-12-31 23:59:59。DATETIME更常用

DDL

  1. 查询所有数据库:SHOW DATABASES;
  2. 查询当前数据库:SELECT DATABASE();
  3. 创建:CREATE DATABASE[IF NOT EXISTS]数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则]
  4. 删除:DROP DATABASE[IF EXISTS]数据库名;
  5. 使用:USE 数据库名

查询

查询表操作(前提是:已经进入数据库内)

  1. 查询当前数据库所有表:show tables
  2. 查询表结构:desc 表名
  3. 查询指定表的建表语句:show create table 表名
创建

创建表结构

create table demo01(
    -> id int comment '学号',
    -> name varchar(50) comment '姓名',
    -> age int comment '年龄',
    -> gender varchar(1) comment '性别'
) comment '学生表';

create table employee(
	id int comment '编号',
    worknum varchar(10) comment '员工工号',
    name varchar(10) comment '员工姓名',
    gender char(1) comment '性别',
    age tinyint unsigned comment '年龄',
    idcard char(18) comment '身份证号',
    enterdate date comment '入职时间'
)comment '员工表';

修改

修改表结构

  1. 添加字段:alter table 表名 add 字段名 类型(长度) [comment 注释][约束];
  1. 修改字段名和字段类型:alter table 表名 change 旧字段名 新字段名 类型(长度)[comment 注释][约束];

  1. 删除字段:alter table 表名 drop 字段名;
  1. 修改表名:alter table 表名 rename to 新表名;

  1. 删除表:drop table [if exists] 表名
  2. 删除指定表,并重新创建该表:truncate table 表名;

(truncate实际上是将表中的数据删除,但是留下了表结构,相当于格式化?)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值