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

MySQL数据库基本操作1

主要内容

  1. DDL
  2. DML

一.DDL

DDL是数据库领域中的一个术语,全称为数据定义语言(Data Definition Language)。DDL用于定义数据库的结构和组织方式,包括创建、修改和删除数据库对象,如表、视图、索引等。

常见的DDL命令包括:

  1. CREATE:用于创建数据库对象,如创建表、视图、索引等。
    例如:CREATE TABLE students (id INT, name VARCHAR(50));

  2. ALTER:用于修改数据库对象的结构,如添加、删除或修改列、约束等。
    例如:ALTER TABLE students ADD COLUMN age INT;

  3. DROP:用于删除数据库对象,如删除表、视图、索引等。
    例如:DROP TABLE students;

  4. TRUNCATE:用于删除表中的所有数据,但保留表结构。
    例如:TRUNCATE TABLE students;

  5. RENAME:用于重命名数据库对象的名称。
    例如:RENAME TABLE students TO new_students;

功能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的用法主要有以下几个方面:

  1. 创建数据库对象:使用CREATE语句可以创建表、视图、索引等数据库对象,定义其结构和属性。

  2. 修改数据库对象:使用ALTER语句可以修改数据库对象的结构,如添加、删除或修改列、约束等。

  3. 删除数据库对象:使用DROP语句可以删除数据库对象,包括表、视图、索引等。

  4. 重命名数据库对象:使用RENAME语句可以修改数据库对象的名称。

DDL语句通常在数据库的初始化阶段使用,用于创建数据库和表结构。在数据库运行过程中,DDL语句的使用相对较少,主要用于修改数据库结构或删除不需要的对象。

需要注意的是,DDL语句一旦执行,会立即生效并修改数据库的结构,因此在使用DDL语句之前应该谨慎考虑,并确保备份重要数据。

1.创建表

代码如下(示例):

创建表格式

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
);

2.创建表的类型

数值类型
在这里插入图片描述
字符串类型
在这里插入图片描述
日期类型
在这里插入图片描述

3.其他操作

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

4.修改表结构格式

代码如下(示例):

修改表添加格列:


语法格式
alter table 表名 add 列名 类型 ( 长度 ) [ 约束 ];
例子:
# 为 student 表添加一个新的字段为:系别 dept 类型为 varchar(20)
ALTER TABLE student ADD `dept` VARCHAR(20);

修改列名和类型

语法格式
alter table 表名 change 旧列名 新列名 类型 ( 长度 ) 约束 ;例子:
# 为 student 表的 dept 字段更换为 department varchar(30)
ALTER TABLE student change `dept` department VARCHAR(30);

修改表删除列

语法格式:
alter table 表名 drop 列名 ;例子:
# 删除 student 表中 department 这列
ALTER TABLE student DROP department;

修改表名

语法格式:
rename table 表名 to 新表名 ;例子:
# 将表 student 改名成 stu
rename table `student` to stu;

二.DML

DML(Data Manipulation Language,数据操作语言)是一种用于在关系型数据库中操作数据的语言。它允许用户对数据库中的数据进行查询、插入、更新和删除操作。

DML语言通常包括以下几个主要的操作:

  1. 查询(SELECT):用于从数据库中检索数据。SELECT语句可以指定要检索的表、列和条件,以及可选的排序和分组规则。

  2. 插入(INSERT):用于将新的数据行插入到数据库表中。INSERT语句指定要插入的表、要插入的列和相应的值。

  3. 更新(UPDATE):用于修改数据库表中的现有数据行。UPDATE语句指定要更新的表、要更新的列和相应的新值,以及可选的更新条件。

  4. 删除(DELETE):用于从数据库表中删除数据行。DELETE语句指定要删除的表和可选的删除条件。

DML语言的使用方法如下:

  1. 在SQL命令行界面或数据库管理工具中输入DML语句,并执行该语句。执行后,数据库会根据语句的指示进行相应的操作。

  2. 在应用程序中使用编程语言(如Java、Python等)的数据库连接库,通过调用相应的函数或方法来执行DML语句。

下面是一些常见的DML语句示例:

  1. 查询语句示例:
    SELECT * FROM 表名 WHERE 条件;

  2. 插入语句示例:
    INSERT INTO 表名 (列1, 列2, 列3) VALUES (值1, 值2, 值3);

  3. 更新语句示例:
    UPDATE 表名 SET 列1=新值1, 列2=新值2 WHERE 条件;

  4. 删除语句示例:
    DELETE FROM 表名 WHERE 条件;

需要注意的是,DML语句对数据库中的数据进行操作,因此在使用DML语句时应谨慎,避免误操作或不必要的数据损失。在执行DML语句之前,最好先备份数据库以防止意外情况发生。

1.数据插入

代码如下(示例):
语法格式:
insert into 表(列名1,列名2,列名3...; //向表中插入某些
insert intovalues (1,2,3...); // 向表中插入所有列例子:
insert into student(sid,name,gender,age,birth,address,score) values(1001,' 男 ',18,'1996-12-23',' 北京 ',83.5);
insert into student values(1001,' 男 ',18,'1996-12-23',' 北京 ',83.5);

2.数据修改

代码如下(示例):
语法格式:
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; 

3.数据删除

代码如下(示例):
语法格式:
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;注意: deletetruncate 原理不同, delete 只删除内容,而 truncate 类似于 drop table ,可以理解为是将整个表删除,然后再创建该表;

总结

以上是今天要讲的内容,学到了MySQL数据库的基本操作,包括DDL,DML。

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

相关文章:

  • Webpack简介及打包演示
  • 面向对象设计模式——命令模式
  • selenium测试框架快速搭建(ui自动化测试)
  • TypeScript中的类型映射
  • 系统平台同一网络下不同设备及进程数据通讯--DDS数据分发服务中间件
  • golang小技巧
  • JavaWeb——IDEA操作:Project最终新建module
  • 前端开发技术栈(工具篇):2023深入了解webpack的安装和使用以及核心概念和启动流程(详细) 63.3k stars
  • [SQL开发笔记]LIKE操作符:在 WHERE 子句中搜索列中的指定模式
  • flutter深研
  • TypeScript中的declare关键字
  • 玫瑰红葡萄酒的基本知识
  • HTTP 协议参考文档
  • Python遍历删除列表元素的一个奇怪bug
  • Elasticsearch部署中的两大常见问题及其解决方案
  • 【计网 CDN】计算机网络 CDN(Content Delivery Network)分布式网络架构详解:中科大郑烇老师笔记 (八)
  • C# 图解教程 第5版 —— 第9章 表达式和运算符
  • TIA博途_Profinet通信故障诊断及常见错误解决方法汇总
  • Windows server部署filebeat到kafka
  • Interview of ING internship for master thesis: LLM
  • 华为校招第三题 找最小数
  • 大数据Flink(一百零三):SQL 表值聚合函数(Table Aggregate Function)
  • php+JavaScript实现callback跨域请求jsonp数据
  • 荣电集团与钕希科技签署全面战略合作
  • C语言_文件_进程_进程间通讯 常用函数/命令 + 实例
  • 力扣第406题 根据身高重建队列 c++ 贪心思维
  • postgresSQL 数据库本地创建表空间读取本地备份SQL文件
  • 贝锐花生壳内网穿透推出全新功能,远程业务连接更安全
  • NIO和BIO编程
  • 嵌入式系统设计师考试笔记之操作系统基础复习笔记二