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

零基础-MySQL数据库的基本操作

①MYSQL数据库基本操作-DDL

1.DDL的解释

DDL(Data Definition Language),数据定义语言,包括以下内容:

  • 对数据库的常用操作

  • 对表结构的常用操作

  • 修改表结构

2.对数据库的常用操作

功能SQL
查看所有的数据库show databases;
创建数据库create database [if not exists] mydb1 [charset=utf8]
切换 (选择要操作的) 数据库use mydb1;
删除数据库drop database [if exists] mydb1;
修改数据库编码alter database mydb1 character set utf8;
-- DDL操作
-- 产看所有数据库
show DATABASES;
-- 创建数据库
CREATE DATABASE mydb1;
CREATE DATABASE if NOT EXISTS mydb1; # 创建数据库 如果存在了就不创建了
-- 选择使用哪一个进行操作
USE mydb1;
-- 删除数据库
drop DATABASE mydb1;
drop DATABASE if EXISTS mydb1;
-- -- 修改数据库的编码
-- alter DATABASE test CHARACTER set utf8;

3、对表结构的常用操作-创建表

创建表格式

create table [if not exists]表名(字段名1 类型[(宽度)] [约束条件] [comment '字段说明'],字段名2 类型[(宽度)] [约束条件] [comment '字段说明'],字段名3 类型[(宽度)] [约束条件] [comment '字段说明']
)[表的一些设置];

创建表是构建一张空表,指定这个表的名字,这个表有几列,每一列叫什么名字,以及每一列存储的数据类型

use mydb1;
create  table if not exists student(sid int,name varchar(20),gender varchar(20),age int,birth date, address varchar(20),score double
);

3.对表结构的常用操作-创建表

数值类型

类型大小范围(有符号)范围(无符号)用途
TINYINT1 byte(-128,127)(0,255)小整数值
SMALLINT2 bytes(-32 768,32 767)(0,65 535)大整数值
MEDIUMINT3 bytes(-8 388 608,8 388 607)(0,16 777 215)大整数值
INT或**INTEGER**4 bytes(-2 147 483 648,2 147 483 647)(0,4 294 967 295)大整数值
BIGINT8 bytes(-9,223,372,036,854,775,808,9 223 372 036 854 775 807)(0,18 446 744 073 709 551 615)极大整数值
FLOAT4 bytes(-3.402 823 466 E+38,3.402 823 466 351 E+38)0,(1.175 494 351 E-38,3.402 823 466 E+38)单精度浮点数值
DOUBLE8 bytes(-1.797 693 134 862 315 7 E+308,1.797 693 134 862 315 7 E+308)0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)双精度浮点数值
DECIMAL依赖于M和D的值依赖于M和D的值小数值

decimal(M,D) --->>>decimal(5,2) 123.45 总的有效位数是5位,小数位数是两位

字符串类型

类型大小用途
CHAR0-255 bytes定长字符串
<u>VARCHAR**</u>0-65535 bytes变长字符串
TINYBLOB0-255 bytes不超过 255 个字符的二进制字符串
TINYTEXT0-255 bytes短文本字符串
BLOB0-65 535 bytes二进制形式的长文本数据
TEXT0-65 535 bytes长文本数据
MEDIUMBLOB0-16 777 215 bytes二进制形式的中等长度文本数据
MEDIUMTEXT0-16 777 215 bytes中等长度文本数据
LONGBLOB0-4 294 967 295 bytes二进制形式的极大文本数据
LONGTEXT0-4 294 967 295 bytes极大文本数据

日期类型

类型大小( bytes)范围格式用途
DATE31000-01-01/9999-12-31YYYY-MM-DD日期值
TIME3'-838:59:59'/'838:59:59'HH:MM:SS时间值或持续时间
YEAR11901/2155YYYY年份值
DATETIME81000-01-01 00:00:00/9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS混合日期和时间值
TIMESTAMP41970-01-01 00:00:00/2038结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07YYYYMMDD HHMMSS混合日期和时间值,时间戳

4.对表结构的操作

功能SQL
查看当前数据库的所有表名称show tables;
查看指定某个表的创建语句show create table 表名;
查看表结构desc 表名
删除表drop table 表名

修改表添加列

alter table 表名 add 列名 类型(长度) [约束];

-- ALTER TABLE test_pymysql add name VARCHAR(20);
-- DESC test_pymysql;

修改列名和类型

-- 语法:alter table 表名 change 旧列名 新列名 类型(长度) 约束;
ALTER TABLE test_pymysql CHANGE id gender VARCHAR(20);
DESC test_pymysql;

删除列的操作

-- 删除列的操作
-- 语法:alter table 表名 drop 列名;
ALTER TABLE  test_pymysql DROP name;
DESC test_pymysql;

修改表名

-- rename table 表名 to 新表名;
rename TABLE test_pymysql to test_stu;

5.增、删、改、查

数据的插入

语法:`insert into 表 (列名1,列名2,列名3...) values (值1,值2,值3...); //向表中插入某些`
`insert into 表 values (值1,值2,值3...);     //向表中插入所有列`
-- INSERT INTO student VALUES(10001, '周杰轮', 31, '男'), (10002, '王力鸿', 33, '男'), (10003, '蔡依琳', 35, '女'), (10004, '林志灵', 36, '女'), (10005, '刘德滑', 33, '男'), (10006, '张大山', 10, '男'), (10007, '刘志龙', 11, '男'), (10008, '王潇潇', 33, '女'), (10009, '张一梅', 20, '女'), (10010, '王一倩', 13, '女'), (10011, '陈一迅', 31, '男'), (10012, '张晓光', 33, '男'), (10013, '李大晓', 15, '男'), (10014, '吕甜甜', 36, '女'), (10015, '曾悦悦', 31, '女'), (10016, '刘佳慧', 21, '女'), (10017, '项羽凡', 23, '男'), (10018, '刘德强', 26, '男'), (10019, '王强强', 11, '男'), (10020, '林志慧', 25, '女');

数据的修改

语法:update 表名 set 字段名=值,字段名=值...;                所有行的都会修改update 表名 set 字段名=值,字段名=值... where 条件;      这个就不是所有行
​
​
-- 将所有学生的地址修改为重庆 
update student set address = '重庆’; 
​
-- 讲id为1004的学生的地址修改为北京 
update student set address = '北京' where id = 1004 
​
-- 讲id为1005的学生的地址修改为广州,成绩修成绩修改为100 
update student set address = '广州',score=100 where id = 1005
-- 将id为10010的同学的性别改为男
-- UPDATE student1 SET gender='男' WHERE id = 10010;

数据的删除

delete from 表名 [where 条件];
truncate table  表名 或者 truncate 表名
​
-- 1.删除sid为1004的学生数据
delete from student where sid  = 1004;
-- 2.删除表所有数据
delete from student;
-- 3.清空表数据
truncate table student;
truncate student;
​
注意:delete和truncate原理不同,delete只删除内容,而truncate类似于drop table ,可以理解为是将整个表删除,然后再创建该表;

相关文章:

  • PWM脉宽调制技术
  • 第十节:Vben Admin实战-系统管理之角色管理实现(分页查询,修改)-中
  • creator-webview与Android交互
  • Unity:2D
  • 读算法的陷阱:超级平台、算法垄断与场景欺骗笔记19_前方的路
  • leetcode最大连续1的个数(简单)
  • docker 容器与本地主机间文件/文件夹的传输
  • 如何用VSCode和Clangd与Clang-Format插件高效阅读Linux内核源码及写驱动
  • python与excel第一节
  • 【ORB-SLAM3】在 Ubuntu20.04 上编译 ORM-SLAM3 并使用 D435i 运行测试
  • 海康威视的观澜大模型技术
  • C语言内存函数(1)【memcpy函数的使用与模拟实现】【memmove函数的使用和模拟实现】
  • Fabric Measurement
  • 并发编程之Java 对象头的详细解析
  • 3个Tips,用“AI”开启新生活
  • 【5+】跨webview多页面 触发事件(二)
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • Druid 在有赞的实践
  • Koa2 之文件上传下载
  • MobX
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • SpiderData 2019年2月13日 DApp数据排行榜
  • springboot_database项目介绍
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 讲清楚之javascript作用域
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 微信小程序--------语音识别(前端自己也能玩)
  • 我的业余项目总结
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 小程序上传图片到七牛云(支持多张上传,预览,删除)
  • 正则表达式小结
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • (4)事件处理——(7)简单事件(Simple events)
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (转)jQuery 基础
  • (转)Linq学习笔记
  • .aanva
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .Net IE10 _doPostBack 未定义
  • .NET Reactor简单使用教程
  • .net Signalr 使用笔记
  • @ConfigurationProperties注解对数据的自动封装
  • @transactional 方法执行完再commit_当@Transactional遇到@CacheEvict,你的代码是不是有bug!...
  • [C/C++]数据结构 栈和队列()
  • [C++]命名空间等——喵喵要吃C嘎嘎
  • [Deep Learning] 神经网络基础
  • [HeMIM]Cl,[AeMIM]Br,[CeEIM]Cl,([HO-PECH-MIM]Cl,[HOOC-PECH-MIM]Cl改性酚醛树脂