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

SQL基础语法

SQL的分类

DDL(数据定义语言) (Data Definition Language) 对库和表进行操作

        create   创建库、表、索引、视图、用户

        alter    修改字符集、表结构、索引、视图、用户、密码

        drop     删除各种结构、库、表、视图、索引、用户

        show     显示库、表

DML(数据操纵语言) (Data Manipulation Language) 对表中的数据进行添加、修改、删除

        insert   在表中插入、添加数据

        update   修改表中的内容

        delete   删除表中的内容

DQL(数据查询语言) (Data Query Language) 对表中数据进行查询操作

        select   根据条件查询内容、可以配合函数使用

DCL(数据控制语言) (Data Control Language) 对数据库进行权限管理、用户管理、事务管理

        use      切换数据库

        grant    权限设置

        revoke   移除权限

DTL(事务控制语言) (Data Transaction Language)

        commit   事务提交

        rollback 回滚

分类

操作对象

核心命令

特点

DML

表中的数据记录

INSERT、UPDATE、DELETE

可回滚,影响数据内容

DDL

数据库对象结构

CREATE、ALTER、DROP

自动提交,影响结构

DQL

数据查询结果

SELECT

只读,不修改数据/结构

DCL

权限和事务

GRANT、REVOKE、COMMIT

控制访问和数据一致性

SQL的关键字

创建库

        查看所有库:show databases;

        创建库:create database 库名 charset utf8mb4;

CREATE DATABASE yun11 CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';

        删除库:drop database 库名;

        当删除库时,库中所有的内容都会被删除

        修改库的字符集:alter database test charset utf8mb4

表操作

要先进入数据库use test;

查看表:

        查看库中所有的表:show tables;

        查看表的结构:desc 表名;

创建表:

查看创表语句

        show create table user_info;

查看表结构

        desc user_info;

Field字段(列名):字母、数字、下划线、不要喝mysql关键字冲突,不要有特殊符号和空格。

Type数据类型:数字类型、字符类型、日期时间类型、二进制数据、json等……

Null是否可为空:YES可为空,NO不能为空,Not Null

Key键:主键、外键、唯一

Default默认值:在insert时,没有设置内容时,自动添加的内容

Extra:扩展,例如:auto_increment(自动增长,一般用于序号自动+1)

删除表:drop table 表名;

修改表结构:alter

ALTER TABLE user_info CHANGE `sex` `gender` enum('男','女','未知');

操作步骤

1.登录mysql

mysql -uroot -p

2.创建库

(1)创建一个使用默认字符集的库

create database 库名;

(2)查看所有的数据库

show databases;

(3)查看该库的创库语句(\G是按列排列)

show create database 库名\G;

(4)修改数据库的字符集

alter database school charset utf8;

(5)创建时指定字符集

create database 库名 charset utf8;

(6)删除库和库中所有的数据

drop database 库名;

3.进入数据库

 use 库名;

4.创建表

(1)创建一个表

create  table  表名(

     列名1  类型  [约束条件],

     列名2  类型  [约束条件],

     ...

     列名n  类型  [约束条件]

)[表约束];

例如:

create table student(

    id    int,

    name  varchar(20),

    sex   enum('男','女'),  -- 枚举类型(单选)set 集合

    birthday date           --  YYYY-MM-DD

);

(2)查看表

show 表名;

(3)查看表的结构

desc 表名;

(4)删除表和表的数据

drop table 表名;

5.修改表结构

(1)修改表名

alter table 原始表名 rename  to 新的表名;

(2)修改字段名和字段类型

> 修改列的属性:change,modify

①修改字段名

alter table text change  birthday b_day date;

alter table 表名 change  旧字段名 新字段名 新字段类型;

②修改字段类型

alter table text modify   age   smallint;

alter table 表名  modify  字段名 新字段类型;

③同时修改字段名和字段类型

alter table text change   phone   contact_phone CHAR(11);

alter table 表名  change  旧字段名    新字段名    新字段类型;

(3)添加新的字段
①在表的末尾添加新字段

alter table text add  phone  char(11);

alter table 表名 add 新字段名 字段类型 [约束条件];

> 如果你需要指定新增字段的位置,关键字 FIRST (设定位第一列), AFTER 字段名(设定位于某个字段之后)

②在指定字段之后添加新字段

alter table 表名 add address varchar(64) after name;

alter table 表名 add 新字段名   字段类型   after 指定字段名;

③在表的开头添加新字段

alter table 表名 add first id_card VARCHAR(18);

alter table 表名 add first 新字段名 字段类型 [约束条件];

(4)删除已有的字段

alter table 表名 drop 字段名;

http://www.xdnf.cn/news/1243405.html

相关文章:

  • Qt按键响应
  • 倒排索引:Elasticsearch 搜索背后的底层原理
  • 【C语言】自定义类型:联合体与枚举
  • SpringMVC在前后端分离架构中的执行流程详解
  • 句子表征-文本匹配--representation-based/interactive-based
  • MS-DOS 常用指令集
  • 机器学习——学习路线
  • 2.Java和C++有什么区别
  • Demo-LangGraph构建Agent
  • 【Spring】SpringBoot 自动配置,@ComponentScan、@Import、ImportSelector接口
  • LeetCode 132:分割回文串 II
  • Linux开发利器:探秘开源,构建高效——基础开发工具指南(下)【make/Makefile】
  • 水面垃圾清扫船cad【6张】三维图+设计说明书
  • Jmeter进行性能并发测试
  • 【Java】使用FreeMarker来实现Word自定义导出
  • C++高频知识点(十四)
  • 京东商品详情API技术文档框架及Python实现方案
  • sqli-labs:Less-27a关卡详细解析
  • 《Python 实用项目与工具制作指南》· 2.3 导入
  • Bean的生命周期和循环依赖问题的解决
  • curl发送文件bodyParser无法获取请求体的问题分析
  • 嵌入式硬件中三极管推挽电路控制与实现
  • PPT自动化 python-pptx - 11 : 备注页 (Notes Slides)
  • (论文速读)Text-IF:基于语义文本引导的退化感知交互式图像融合方法
  • sqli-labs-master/Less-31~Less-40
  • openeuler离线安装软件
  • Hexo - 免费搭建个人博客07 - 添加右上角的“目录”
  • 先知模型或者说从容的模型
  • Linux—yum仓库及NFS网络共享服务
  • Java基础-斗地主游戏