MYSQL基础-SQL综述、DDL、DML

3 篇文章 0 订阅
这篇博客介绍了MySQL的基础知识,包括SQL通用语法、数据库和表的操作(创建、查询、修改、删除)。详细讲解了DDL(数据定义语言)如CREATE DATABASE、ALTER TABLE等,并通过实例展示了如何创建员工信息表及进行字段的增删改。同时,也提及了DML(数据操作语言)的INSERT、UPDATE和DELETE用于数据的增删改操作。
摘要由CSDN通过智能技术生成

基础篇:

2、SQL(重要)

  • SQL通用语法
  • SQL分类
  • DDL
  • DML
  • DQL
  • DCL

2.1、SQL通用语法

1、SQL语句可以单行或多行书写,以分号结尾。
2、SQL语句可以使用空格/缩进来增强语句的可读性
3、MySQL数据库的SQL语句不区分大小写,关键字建议用大写。
4、注释:
	单行注释:--注释内容  或#注释内容(MySQL特有)
	 多行注释:/*注释内容*/

2.2、SQL分类

DDL:Definition:数据定义语言 ,用来定义数据库对象(数据库,表,字段)
DML:Manipulation:数据库操作语言,用来对数据库表中的数据进行增删改
DQL:Query:数据查询语言,用来查询数据库中表的记录
DCL:Control:数据库控制语言,用来创建数据库用户,控制数据库的访问权限

SQL分类

2.3、DDL:数据库定义语言

2.3.1、数据库操作
1、查询:

查询所有数据库
SHOW DATABASE;
查询当前数据库
SELECT DATABASE();

2、创建

CREATE DATABASE [IF NOT EXISTS] 数据库名 [DATABASE CHARSET 字符集] [COLLATE 排序规则];
//方括号中内容可以省略,MYSQL中有对应的默认内容。
//(当数据库中已有改名称的数据库时,改语句不会执行,并报错。)

ERROR 1007 (HY000): Can't create database '数据库名'; database exists
1 创建数据库时,create database 后加上数据库的名称就可以了。
2 加上 IF NOT EXISTS ,表示如果这个名称不存在则创建该数据库,如果存在则不创建
//加上这句话时(当数据库中已有改名称的数据库时,创建语句不会执行,不报错。)
3 加上 DEFAULT CHARSET 后跟字符集 ,表示指定默认的字符集
4 加上 COLLATE 后跟排序规则 ,表示指定对应的排序规则。

3、删除

DROP DATABASE [IF EXISTS] 数据库名;

4、使用

USE 数据库名

在这里插入图片描述

2.3.2、表操作(前提:use 该数据库)
1、创建

语法:

CREATE TABLE 表名(
		字段1 字段1类型[COMMENT 字段1注释],//逗号分隔字段
		字段2 字段2类型[COMMENT 字段2注释],
		...//可选参数
		字段n 字段n类型[COMMENT 字段n注释] //最后一个字段后没有逗号	
)[COMMENT 表注释];

在这里插入图片描述

2、查询:
  • 查询当前数据库所有表
    SHOW TABLES;
    bc3ba.png)

  • 查询表结构
    DESC 表名;
    在这里插入图片描述

  • 查询指定表的建表语句
    SHOW CREATE TABLE 表名
    在这里插入图片描述

     //ENGINE=InnoDB    存储引擎 InnoDB
     //DEFAULT CHARSET=utf8  默认字符集 utf8
    
3、修改
  • 添加字段
    ALTER TABLE 表名 ADD 字段名 类型(长度)[comment 注释] [约束];

案例:为emp表增加一个新的字段“昵称”,为nicename,类型为varchar(20).
ALTER TABLE emp ADD nickname varchar(20) comment '昵称';
在这里插入图片描述

  • 修改字段
    修改指定字段数据类型:
    ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);
    修改字段名和数据类型:
    ALTER TABLE 表名 CHANGE 旧字段名 新字段名 数据类型(长度)[comment 注释] [约束];

案例:将emp表中nickname 字段修改为username ,类型为varchar(30).
ALTER TABLE emp CHANGE nickname username varchar(30);
在这里插入图片描述

  • 删除字段:
    删除指定字段:
    ALTER TABLE 表名 DROP 字段名;

案例:删除emp表中的字段username删除:
ALATER TABLE emp DROP username;
在这里插入图片描述

  • 修改表名:
    ALTER TABLE 表名 RENAME TO 新表名;

案例:将emp的表名修改为employee.
ALTER TABLE emp RENAME TO employee;
在这里插入图片描述
在这里插入图片描述

4、删除:
  • 删除表:
    DROP TABLE [IF EXISTS] 表名;//删除表时表中数据全部被删除。

  • 删除指定表,并重新创建该表:
    TRUNCATE TABLE 表名;//其中数据全部清空,只留下表结构
    在这里插入图片描述

DDL总结:

在这里插入图片描述

2.4、DML:数据库操作语言

1、添加数据:(INSERT)
  • 给指定字段添加数据:
    INSERT INTO 表名(字段名1,字段名2,...)VALUES(值1,值2,...);
  • 给全部字段添加数据
    INSERT INTO 表名 VALUES(值1,值2,...);
  • 批量添加数据
    INSERT INTO 表名(字段名1,字段名2,...)VALUES(值1,值2,...),(值1,值2,...),...(值n);
    INSERT INTO 表名 VALUES(值1,值2,...),(值1,值2,...)... ;

注意:

	插入数据时,指定的字段顺序与值一一对应。
	字符串和日期类型数据应包含在引号中。
	插入的数据大小,应该在字段的规定范围内。
2、修改数据:(UPDATE)
  • 修改指定字段数据
    UPDATE 表名 SET 字段名1=值1,字段名2=值2,... WHERE 条件;

注意:

修改语句时如果没有加WHERE 和条件,则会修改整张表中的数据
3、删除数据:(DELETE)
  • 删除指定数据:
    DELETE FROM 表名 WHERE 条件

注意:

删除语句没有加WHERE 和条件,则会删除整张表中的数据
DELETE 语句不能删除某个字段的值,(UPDATE)

.

练习:

1、DDL-表操作;
1.1、进入MYSQL
进入MySQL
1.2、查看数据库并 创建一个数据库,名为HMQ_A(当数据库中已有改名称的数据库时,改语句不会执行,并报错,数据库已存在。)
1.3、再次创建HMQ-A,
在这里插入图片描述
1.4、删除数据库HMQ_A
在这里插入图片描述

案例:表操作:
根据需求创建表(设计合理的数据类型、长度)

设计一张员工信息表,要求如下:
1.编号(纯数字)
2.员工工号(字符串类型,长度不超过10位)
3.员工姓名(字符串类型,长度不超过10位)
4.性别(男/女,存储一个汉字)
5.年龄(正常人年龄,不可能存储负数)
6.身份证号(二代身份证号均为18位,身份证中有X这样的字符)
7.入职时间(取值年月日即可)
//创建表:emp员工表 
//unsigned:无符号
	CREATE TABLE emp(
		id int comment '标号',
		workid varchar(10) comment '工号' ,
 		name varchar(10) comment '姓名',
		sex varchar(1) comment '性别',
		age tinyint unsigned comment '年龄',
		idcard char(18) comment '身份证号',
		entrydate date comment '入职时间'
	)comment '员工号';

创建员工表emp成功在这里插入图片描述
查看emp表结构:在这里插入图片描述
案例:为emp表增加一个新的字段“昵称”,为nicename,类型为varchar(20).
ALTER TABLE emp ADD nickname varchar(20) comment '昵称';
在这里插入图片描述
案例:将emp表中nickname 字段修改为username ,类型为varchar(30).
ALTER TABLE emp CHANGE nickname username varchar(30);
在这里插入图片描述
案例:删除emp表中的字段username删除:
ALATER TABLE emp DROP username;
在这里插入图片描述
案例:将emp的表名修改为employee.
ALTER TABLE emp RENAME TO employee;
在这里插入图片描述

2、DML:对数据库表中数据进行增删改操作:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值