MySQL基础(DDL、DML、DQL)

本文介绍了数据库的基本概念,强调其作为数据存储和管理的高效工具。详细讲解了SQL(结构化查询语言)的作用和通用语法,并展示了如何通过SQL进行数据库和数据表的创建、查看、修改和删除操作。此外,还涵盖了DML和DQL,用于数据的插入、更新、删除和查询。最后,讨论了SQL在不同数据库系统中的方言差异。
摘要由CSDN通过智能技术生成

修改时间:2021年1月20日
作者:pp_x
邮箱:pp_x12138@163.com

数据库

数据库基本概念

  • 数据库是存储管理数据的仓库
  • 本质是一个文件系统,以文件的形式保存在电脑上。
存储方式优点缺点
内存速度快不可以永久保存,临时性
文件数据永久保存使用io流操作,不方便
数据库数据永久保存;方便存储和管理数据;实现统一的方式操作数据库占有资源

SQL

SQL概念

  • 结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统

SQL的作用

  • 是所有关系型数据库的统一查询规范,不同的关系型数据库都支持SQL
  • 所有的关系型数据库都可以使用SQL
  • 不同数据库之间的SQL有一些方言

SQL通用语法

  • SQL语句可以单行可以多行编写,以分号结尾
  • 使用空格键和缩进来提高可读性
  • MySQL中不区分大小写,一般关键字大写。数据库名、表名、列名小写

SQL的分类

  • 数据定义语言:简称DDL(Data Definition Language),用来定义数据库对象:数据库,表,列
  • 数据操作语言:简称DML(Data Manipulation language),用来对数据库中的表的记录进行更新
  • 数据查询语言:简称DQL (Data Query Language),用来对数据库数据查询
  • 数据控制语言:简称DCL(Data Control Language),用来定义数据库的访问权限和安全级别及创建用户

DDL操作数据库

  • create database 数据库名;————创建指定名称的数据库
  • create database 数据库名 default character set 字符集;——————创建指定名称并指定字符集的数据库(一般是utf-8)

查看/选择数据库

命令说明
use 数据库切换数据库
select database();查看当前正在使用的数据库
show databases;查看Mysql中 都有哪些数据库
show create database 数据库名;查看一个数据库的定义信息

修改数据库

命令说明
alter database 数据库名 character set 字符集;数据库的字符集修改操作

删除数据库

命令说明
drop database 数据库名从MySql中永久的删除某个数据库

DDL操作数据表

  • MySQL数据类型
    在这里插入图片描述

创建表

  • 语法格式
CREATE TABLE 表名( 
字段名称1 字段类型(长度), 
字段名称2 字段类型 注意 最后一列不要加逗号 )
  • 快速创建一个表结构相同的表(复制表结构)
create table 新表明 like 旧表名

查看表

show tables;————————查看当前数据库中的所有表名
desc 表名;————————查看数据表的结构

删除表

drop table 表名;—————— 删除表(从数据库中永久删除某一张表)
drop table if exist 表名;————————判断表是否存在, 存在的话就删除,不存在就不执行删除

修改表

  • 修改表名
rename table 旧表名 to 新表名
  • 修改表的字符表
alter table 表名 character set 字符集
  • 向表中添加相关列 关键字ADD
alter table 表名 add 字段名称 字段类型
  • 修改表中列的 数据类型或长度 , 关键字MODIFY
alter table 表名 modify 字段名 字段类型
  • 修改列名称,关键字change
alter table 表名 change 旧列名 新列名 类型(长度)
  • 删除列 关键字DROP
alter table 表名 drop 列名;

DML操作表中的数据

插入数据

  • 语法格式
insert into 表名 (字段名1,字段名2...values(字段值1,字段值2...);
  • 插入全部字段
INSERT INTO student (sid,sname,age,sex,address) VALUES(1,'孙悟空',20,'男','花果 山');
  • 插入全部字段不写字段名
INSERT INTO student VALUES(2,'孙悟饭',10,'男','地球');
  • 插入指定字段
INSERT INTO category (cname) VALUES('白骨精');

更改数据

  • 不带条件更改
update 表名 set 列名 =
  • 带条件更改
update 表名 set 列名 =[where 条件表达式:字段名 =]

删除数据

  • 格式一
delete from 表名
  • 格式二
truncate table student;
  • 二者区别
  1. delete from 表名; 不推荐. 有多少条记录 就执行多少次删除操作. 效率低,可以条件删除
  2. truncate table 表名: 推荐. 先删除整张表, 然后再重新创建一张一模一样的表. 效率高

DQL查询数据

  • 查询不会对数据进行修改,只是一种对数据的显示
select 列名 from 表名

条件查询

  • 如果查询语句中没有设置条件,就会查询所有的行信息,在实际应用中,一定要指定查询条件,对记录进行过滤
select 列名 from 表名 where 条件表达式 
* 先取出表中的每条数据,满足条件的数据就返回,不满足的就过滤掉
  • 比较运算符
运算符功能
> < <= >= = <> !=大于、小于、大于(小于)等于、不等于
BETWEEN …AND…显示在某一区间的值
IN(集合)集合表示多个值,使用逗号分隔,例如: name in (悟空,八戒)
LIKE ‘%张%’模糊查询
IS NULL查询某一列为NULL的值, 注: 不能写 = NULL
  • 逻辑运算符
运算符功能
And &&多个条件同时成立
Or多个条件任一成立
Not不成立,取反。
  • 模糊查询通配符
通配符功能
%表示匹配任意多个字符串
_表示匹配 一个字符
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值