当前位置: 首页 > news >正文

数据库之DDL操作(数据库,表,字段)

Data Definition Language,数据库定义语言,用来定义数据库对象(数据库,表,字段)

1.数据库操作 

1.1查询所有数据库 

show databases;

1.2查询当前数据库

show databases();

1.3创建数据库

create database [if not exists] 数据库名 [default charset 字符集] [collate 排序规则];

 例如:

  • 我们想创建一个Student数据库,并且使用数据库默认的字符集。
create database Student;
  • 因为在同一个数据库服务器中不能出现同名的数据库,所以我们使用(if not exists)参数来解决这个问题,若想要创建的数据库不存在,则创建数据库,如果存在,则不创建。 
create database if not exists Student;
  • 我们也可以指定数据库使用的字符集 
create database Student default charset utf8mb4;

1.4删除数据库

drop database [if exists] 数据库名;

1.5切换数据库

        我们要操作某一个数据库下的表时,需要通过命令,切换到对应的数据库下面,否则是不能对那个表进行操作的。

use 数据库名;

2.表操作 

2.1查询创建

2.1.1查询当前数据库中所有表

show tables;

例如:

  • 如果我们想要在mydata数据库中查询我们所创建的所有表。 
use mydata;
show tables;

2.1.2查看表结构

        这条指令可以使我们看见指定表的字段,字段的类型,是否可以为NULL,是否存在默认值等信息。

desc 表名;

2.1.3查询表的建表语句

        这条指令可以使我们查询到创建表时候的所有参数,指定的和没指定的(默认值)都回查询到 。(存储引擎,字符集)等没。

show create table 表名;

2.1.4创建表结构

create table 表名(字段1 字段1类型 [comment 字段1注释],字段2 字段2类型 [comment 字段2注释],字段3 字段3类型 [comment 字段3注释],字段4 字段4类型 [comment 字段4注释],......字段n 字段n类型 [comment 字段n注释]
)[comment 表注释]
  • 最后一个字段没有逗号(,)

 例如:

create table tb_stu(S# varchar(12) comment '学号';name varchar(30) comment '姓名';age int comment '年龄';gender varchar(1) comment '性别'
)comment '学生表';

2.2数据类型 

2.2.1数值类型

类型大小有符号范围无符号范围描述
TINYINT1byte(-128,127)(0,255)小整数值
SMALLINT2bytes(-32768,32767)(0,65535)大整数值
MEDIUMINT3bytes(-8388608,8388607)(0,16777215)大整数值
INT4bytes(-2147483648,2147483647)(0,4294967295)大整数值
BIGINT8bytes(-2^63,2^63-1)(0,2^64-1)极大整数值
FLOAT4bytes(-3.4... E+38,3.4... E+38)0和(1.17... E-38,3.40... E+38)单精度浮点数值
DOUBLE8bytes(-1.7... E+308,1.7... E+308)0和(2.22... E-308,1.79... E+308)双精度浮点数值
DECIMAL依赖于M(精度)和D(标度)的值依赖于M(精度)和D(标度)的值

小数值(精确定点数)

例如:

//年龄字段--不出现负数不超过255岁
age tinyint unsigned//分数字段--总分100,一位小数
score double(4,1)

2.2.2字符串类型

类型大小描述
CHAR0-255 bytes定长字符串(需要指定长度)
VARCHAR0-65535 bytes变长字符串(需要指定长度
TINYBLOB0-255 bytes不超过255个字符的二进制数据
TINYTEXT0-255 bytes短文本字符串
BLOB0-65535 bytes二进制形式的长文本数据
TEXT0-65535 bytes长文本数据
MEDIUMBLОB0-16 777 215 bytes二进制形式的中等长度文本数据
MEDIUMTEXT0-16 777 215 bytes中等长度文本数据
LONGBLOB0-4 294 967 295 bytes二进制形式的极大文本数据
LONGTEXT0-4 294 967 295 bytes极大文本数据

例如:

1).用户名 username->长度不定,最长不会超过50
username varchar (50)2),性别 gender--------->存储值,不是男,就是女
gender char (1)3).手机号 phone-----> 固定长度为11
phone char (11)

2.2.3日期时间函数

类型大小范围格式描述
DATE31000-01-01至9999-12-31YYYY-MM-DD日期值
TIME3-838:59:59至838:59:59HH : MM: SS时间值或持续时间
YEAR11901至2155YYYY年份值
DATETIME81000-01-01 00:00:00 至9999-12-31 23:59:59YYYY-MM-DDHH:MM:SS混合日期和时间值
TIMESTAMP41970-01-0100:00:01至2038-01-19 03:14:07YYYy-MM-DDHH:MM: SS混合日期和时间值,时间戳

例如:

1),生日字段 birthday
birthday date2),创建时间 createtime
createtime datetime

 2.2.4表操作--修改

2.2.4.1添加字段

ALTER TABLE 表名 ADD 字段名类型 (长度) [COMMENT 注释] [ 约束];

2.2.4.2修改数据类型 

ALTER TABLE 表名 MODIFY 字段名 新数据类型 (长度);

2.2.4.3修改字段名和字段类型

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [ 约束 ];

2.2.4.4删除字段

ALTER TABLE 表名 DROP 字段名;

2.2.4.5修改表名

ALTER TABLE 表名 RENAME TO 新表名;

2.2.5表操作-删除

2.2.5.1删除表

DROP TABLE [IF EXIST} 表名;

 可选项 IFEXISTS代表,只有表名存在时才会删除该表,表名不存在,则不执行删除操作(如果加该参数项,删除一张不存在的表,执行将会报错)。

2.2.5.2删除指定表,并重新创建表

TRUNCATE TABLE 表名;

http://www.lryc.cn/news/332859.html

相关文章:

  • 5.3.1 配置交换机 SSH 管理和端口安全
  • Django--数据库连接
  • CKA 基础操作教程(二)
  • 【SQLServer】快速查看SQL Server中所有数据库中所有表的行数
  • Node.js------Express
  • CSS - 你实现过0.5px的线吗
  • hbuilderX创建的uniapp项目转移到vscode
  • JavaScript 事件流
  • HTML——5.表单、框架、颜色
  • Docker、Kubernetes之间的区别
  • 【21-40】计算机网络基础知识(非常详细)从零基础入门到精通,看完这一篇就够了
  • 软考111-上午题-【计算机网络】-URL和DNS
  • EasyCVR视频汇聚平台海康Ehome2.0与5.0设备接入时的配置区别
  • echarts实现炫酷科技感的流光效果
  • 从多模态生物图数据中学习Gene的编码-MuSeGNN
  • Redis Desktop Manager可视化工具
  • ARM汇编与逆向工程:揭秘程序背后的神秘世界
  • idea使用docker将Java项目生成镜像并使用
  • clickhouse sql使用2
  • jrebel
  • 【单片机家电产品学习记录--红外线】
  • Java入门教程||Java Applet基础
  • Python可视化概率统计和聚类学习分析生物指纹
  • yolo v8 教程(不出5行代码让你学会)
  • MongoDB集合结构分析工具Variety
  • 详解Qt中访问数据库
  • 《QT实用小工具·三》偏3D风格的异型窗体
  • 如何优化TCP?TCP的可靠传输机制是什么?
  • DFS(基础,回溯,剪枝,记忆化)搜索
  • 基于Scala开发Spark ML的ALS推荐模型实战