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

news/2024/7/23 23:53:23 标签: 数据库, mysql, oracle

①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 ,可以理解为是将整个表删除,然后再创建该表;


http://www.niftyadmin.cn/n/5447780.html

相关文章

C++ Thread 源码 观后 自我感悟 整理

Thread的主要数据成员为_Thr 里面存储的是线程句柄和线程ID 先看看赋值运算符的移动构造 最开始判断线程的ID是否不为0 _STD就是使用std的域 如果线程ID不为0&#xff0c;那么就抛出异常 这里_New_val使用了完美转发&#xff0c;交换_Val和_New_val的值 _Thr _STD exchange(_…

能降低嵌入式系统功耗的三个技术

为电池寿命设计嵌入式系统已经成为许多团队重要的设计考虑因素。优化电池寿命的能力有助于降低现场维护成本&#xff0c;并确保客户不需要不断更换或充电电池&#xff0c;从而获得良好的产品体验。 团队通常使用一些标准技术来提高电池寿命&#xff0c;例如将处理器置于低功耗…

JavaEE-文件操作和IO

我们先来认识狭义上的⽂件(file)。针对硬盘这种持久化存储的I/O设备&#xff0c;当我们想要进⾏数据保存时&#xff0c;往往不是保存成⼀个整体&#xff0c;⽽是独⽴成⼀个个的单位进⾏保存&#xff0c;这个独⽴的单位就被抽象成⽂件的概念&#xff0c;就类似办公桌上的⼀份份真…

# Maven Bom 的使用

Maven Bom 的使用 文章目录 Maven Bom 的使用概述BOM特点优点缺点 MavenMaven 安装安装步骤settingx.ml常用仓库地址Idea 使用maven常见坑 SpringBoot 项目Bom使用案例项目结构主项目 zerocode-back-servezc-dependency&#xff08;第三方jar管理&#xff09;子模块zc-serve子模…

css实现的3D立体视觉效果鸡蛋动画特效

这是一个基于纯css实现的3D立体视觉效果鸡蛋动画特效&#xff0c;喜欢的朋友可以拿来使用演示动态效果 css实现的3D立体视觉效果鸡蛋动画特效

C++标准库中提供的用于处理正则表达式的类std::regex

std 是 C 标准库的命名空间&#xff0c;包含了大量标准的 C 类、函数和对象。这些类和函数提供了广泛的功能&#xff0c;包括输入输出、容器、算法、字符串处理等。 通常&#xff0c;为了使用标准库中的对象和函数&#xff0c;需在代码中包含相应的头文件&#xff0c;比如 #in…

爬取斗图网页前五页的图片

单线程爬取 import requests from lxml import etree import os import time def tupi_url():for tape in range(1, 4):url fhttps://www.pkdoutu.com/article/list/?page{tape}headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML…

LeetCode 每日一题 2024/3/18-2024/3/24

记录了初步解题思路 以及本地实现代码&#xff1b;并不一定为最优 也希望大家能一起探讨 一起进步 目录 3/18 303. 区域和检索 - 数组不可变3/19 1793. 好子数组的最大分数3/20 1969. 数组元素的最小非零乘积3/21 2671. 频率跟踪器3/22 2617. 网格图中最少访问的格子数3/23 254…