MySQL基础(DDL、DML、DQL)

学习笔记输出来源:拉勾教育Java就业急训营

修改时间:2021年1月20日
作者:pp_x
邮箱:[email protected]

数据库

数据库基本概念

  • 数据库是存储管理数据的仓库
  • 本质是一个文件系统,以文件的形式保存在电脑上。
存储方式 优点 缺点
内存 速度快 不可以永久保存,临时性
文件 数据永久保存 使用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 不成立,取反。
  • 模糊查询通配符
通配符 功能
% 表示匹配任意多个字符串
_ 表示匹配 一个字符

猜你喜欢

转载自blog.csdn.net/weixin_46303867/article/details/112910039