SQL复习(一)-- 数据定义&数据增删改

1. 定义

SQL, Structured Query Language, 结构化查询语言. 其实是操作数据库的一套标准, 不管使用的是哪一种DBMS, SQL都可以操作. 但是, 不同的DBMS中, 又些许有些差别, 这种差别我们称之为方言(Dialect).

2. SQL遵循的规范

  • 一条语句结束需要使用分号(;)结尾.
  • sql可以单行编写, 也可以换行写, 建议通过换行和缩进来美化SQL, 提高可读性.
  • 一般sql语句中的关键字要大写.

3. SQL的分类

3.1 DDL(Data Defination Language)

数据定义语言, 用于操作数据库的常用对象, 例如数据库, 表格, 等. 常用的关键字CREATE(增), ALTER(改), DROP(删), SHOW(查)等

3.2 DML(Data Manipulation Language)

数据操作语言, 用于对表格进行增删改操作. 常用的关键字INSERT(增), UPDATE(改), DELETE(删)等

​​​​​​​3.3 DQL(Data Query Language)

数据查询语言, 用于对表格进行查询操作. 常用的关键字SELECT(查), WHERE(条件), FROM(位置)等.

3.4 DCL(Data Control Language)

数据控制语言, 主要用于进行权限的控制. 常用的关键字GRANT(授权), REVOKE(撤销)等.

4. 操作database

4.1 查看所有的database

show databases;

4.2 创建 databas

create database 数据库名称; -- 直接创建
create database 数据库名称 character set utf8; -- 创建数据库时指定编码方式
create database if not exists 数据库名称; -- 如果数据库不存在则创建, 存在就不创建(一般用于导出的文件中)

4.3 使用/切换数据库

use 数据库名称;

4.4 修改database

alter database demo character set utf8; -- 将demo库的编码方式修改为utf8.

4.5 删除database

drop database 数据库名; -- 直接删除
drop database if exists 数据库名称; -- 如果存在则删除

5. 操作table

5.1 查询当前database下所有可用的table

show tables;

5.2  MySQL中常用的数据类型

在 MySQL 中,有三种主要的类型:Text(文本)、Number(数字)和 Date/Time(日期/时间)类型。

重点类型:

  • CHAR, 需要指定长度, 不可变字符串, 性能好, 但是占用的空间是固定的.
  • VARCHAR, 需要指定长度, 可变字符串, 性能差, 但是占用的空间是可变的.
  • TEXT, 不需要指定长度, 用于存放大文本数据

.

重点类型:

  • INT, 存整数. 4个字节
  • TINYINT, 1个字节, 如果长度为1, 通常用于表示boolean. 1àtrue, 0àfalse
  • BIGINT, 对应java中的Long类型.

重点类型:

  • DATE, 年月日, 没有时分秒
  • DATETIME, 年月日时分秒

5.3 创建表格

create table 名称 (
    列名 列类型,
    列名 列类型,
...
);
create table tb_student(
    id int,
    name varchar(10),
    gender char(1),
    age int(3),
    birthday date,
    score double(5,2),
    reg_time datetime
);

5.4 查看表格的结构

desc tb_student;

5.5 修改表格

修改表名

alter table 原表名 rename to 新表名;

修改字段(列)的类型

alter table 表名 modify 列名 类型;

修改字段名

alter table 表名 change 原列名 新列名 类型;

增加字段

alter table 表名 add(列名 类型,...);

删除字段

alter table 表名 drop column 列名;

5.6 删除表格

drop table [if exists] 表名;

5.7 DML操作

新增数据

insert into 表名[(列1,列2,...)] values (值1,值2,...);
-- 批量新增
insert into 表名[(列1,列2,...)] values (值11,值21,...),(值12,值22,...)...;

load data local infile‘文件地址’ into table 表名;
  • 列和值要一一对应
  • 列可以省略, 表示表格的所有列都要新增数据
  • 数据的类型要和列类型一致, 其中除了数字以外, 其他数据都需要加引号(单引号和双引号)
  • MySQL中可以批量新增
  • 也可通过txt文件导入数据,用tab键隔开,没有值用\n

修改数据

update 表名 set 列1 = 值1,列2 = 值2...[where 条件];

删除数据

delete from 表名 [where 条件];

删除整张表格的全部数据,建议使用truncate语句,提高效率。

truncate table 表名;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值