一:sql语句

1.什么是SQL语句?

是访问和操作关系数据库的标准语言。只要是关系数据库,都可以使用 SQL 进行访问和控制。

  • 库>表>记录

二:基本SQL语句之库操作


create database 数据库名称; 查
1.查看所有
show databases; 2.查看单个库
show create database 数据库名称; 改
1.修改字符编码
alter database 数据库名称 charset='编码'; 删
1.删除数据库
drop database 数据库名称;

三:基本SQL语句之表操作

1.查看当前所在库名称

select database();

2.切换数据库

use 数据库名称;


1.创建表一定要给字段(每个表最少要有一个 字段=列)
create table 表名(字段名称 字段类型) 查
1.查看当前库下面所有表名称
show tables; 2.查看指定表的详细信息(创建语句)
show create table 表名; 3.可以简写desc(查看表结构)
describe 表名; 改
1.修改表名
alter table 表名 rename 新表名; 删
1.删除表名
drop table 表名;

四:基本SQL语句之记录操作

操作记录之前肯定得先有库和表

1.先创建库
create database db1;
2.切换到库内
use db1;
3.创建表
create table t1(id int,name varchar(32)); # 存储最多32个字符
4.查看表结构
desc t1


1.表内插入单个数据
insert into t1 values(1,'jason');
表内插入单个元素格式
insert into 表名 values('按照字段顺序一一传值(逗号隔开)'); 2.表内插入多个数据
insert into t1 values(1,'jason'),(2,'tony'),(3,'data');
insert into 表名 values(...),(...),(...); 查
1.查询指定表内所有字段数据(*=所有)
select * from 表名; 2.指定查询表内多个字段(也可以通过库名.表名跨库)
select 字段名1,字段名2 from 表名; 3.解决查询字段过多问题
select * from mysql.user\G;
如果字段过多导致展示错乱 还可以使用\G结尾分行展示 改
1.将表名ti内,id为1的name字段从原来的jason修改成jasonSB
update t1 set name='jasonSB' where id='1';
格式:
update 表名 set 字段名=新值 where 字段名=存在的值/条件 where : 筛选条件 删
1.删除指定表内字段对应的值
delete from 表名 where 字段名=存在的值 注意:不加条件会全部删除

五:创建表的完整语法

create table 表名(
字段名1 字段类型(数字) 约束条件,
字段名2 字段类型(数字) 约束条件,
字段名3 字段类型(数字) 约束条件
);

数字 : 表示字段的长度

约束条件 : 基于字段类型之上的额外约束

  • 注意事项
1.字段名和字段类型是必须的 数字和约束条件是可选
2.约束条件可以有多个
3.最后一个字段结尾不能有逗号 (不容易发现)

六:操作表的SQL语句(进阶版)

1.添加表字段
1.表内添加字段pwd与指定类型
alter table t9 add pwd int; 2.表内指定添加hobby字段到age字段后面
alter table t9 add hobby varchar(32) after age; 3.表内指定添加字段nid 类型int 到字段最前面
alter table t9 add nid int first;
2.删除表字段
alter table t9 drop nid;
3.修改表名称
1.修改表名称
alter table t1 rename t2; 2.关键字(rename)修改表名称
rename table t1 to t123; 3.同时修改多个表名称
rename table t2 to t20,
t3 to t30,
t4 to t40;
4.修改字段名和字段类型
1.modify只能修改字段类型
alter table t9 modify age tinyint; 2.change能修改字段名和类型
alter table t9 change pwd password int;

七:复制表

查询语句执行的结果也是一张表,可以看成虚拟表
1.复制表结构+记录 (key不会复制: 主键、外键和索引)
create table new_service select * from service; 解释:
new_service复制service内的结构与记录(key不复制) 2.只拷贝表结构(不包含key)
create table new1_service select * from service where 1=2; 解释:
new1_service复制service内的结构,条件成立是复制记录,不成立不复制记录 3.拷贝结构包含各种key(不包含记录)
create table t4 like employees; 解释:
拷贝结构包含各种key,不包含记录,关键字 like

SQL语句使用的更多相关文章

  1. mysql学习之 sql语句的技巧及优化

    一.sql中使用正则表达式 select name,email from user where email Regexp "@163[.,]com$"; sql语句中使用Regex ...

  2. 一条Sql语句分组排序并且限制显示的数据条数

    如果我想得到这样一个结果集:分组排序,并且每组限定记录集的数量,用一条SQL语句能办到吗? 比如说,我想找出学生期末考试中,每科的前3名,并按成绩排序,只用一条SQL语句,该怎么写? 表[TScore ...

  3. LINQ to SQL语句(7)之Exists/In/Any/All/Contains

    适用场景:用于判断集合中元素,进一步缩小范围. Any 说明:用于判断集合中是否有元素满足某一条件:不延迟.(若条件为空,则集合只要不为空就返回True,否则为False).有2种形式,分别为简单形式 ...

  4. Oracle ------ SQLDeveloper中SQL语句格式化快捷键

    Oracle SQL Developer中SQL语句格式化快捷键: 每次sql复制到SQL Developer面板的时候,格式老不对,而且看起来很不舒服,所有的sql都挤在一行完成. 这时我们可以全选 ...

  5. SQL语句优化

    (1)      选择最有效率的表名顺序 ( 只在基于规则的优化器中有效 ) : ORACLE 的解析器按照从右到左的顺序处理 FROM 子句中的表名, FROM 子句中写在最后的表 ( 基础表dri ...

  6. LinqToDB 源码分析——生成与执行SQL语句

    生成SQL语句的功能可以算是LinqToDB框架的最后一步.从上一章中我们可以知道处理完表达式树之后,相关生成SQL信息会被保存在一个叫SelectQuery类的实例.有了这个实例我们就可以生成对应的 ...

  7. 年终巨献 史上最全 ——LINQ to SQL语句

    LINQ to SQL语句(1)之Where 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句.Where操 ...

  8. LINQ to SQL语句(19)之ADO.NET与LINQ to SQL

    它基于由 ADO.NET 提供程序模型提供的服务.因此,我们可以将 LINQ to SQL 代码与现有的 ADO.Net 应用程序混合在一起,将当前 ADO.NET 解决方案迁移到 LINQ to S ...

  9. LINQ to SQL语句(17)之对象加载

    对象加载 延迟加载 在查询某对象时,实际上你只查询该对象.不会同时自动获取这个对象.这就是延迟加载. 例如,您可能需要查看客户数据和订单数据.你最初不一定需要检索与每个客户有关的所有订单数据.其优点是 ...

  10. LINQ to SQL语句(6)之Group By/Having

    适用场景:分组数据,为我们查找数据缩小范围. 说明:分配并返回对传入参数进行分组操作后的可枚举对象.分组:延迟 1.简单形式: var q = from p in db.Products group ...

随机推荐

  1. Docker安装部署Rancher

    # 一.Rancher简介 [Rancher](https://www.cnrancher.com/rancher/)是一个开源的企业级容器管理平台.通过Rancher,企业再也不必自己使用一系列的开 ...

  2. 通过开启swap分区来解决小内存阿里云服务器的内存瓶颈

    swap分区大小设置 阿里云的linux云服务器默认是没有启用swap分区(交换分区)的.一般情况下swapswap分区的大小可以参考以下规则进行设定: 内存大小 swap大小 MEM_SIZE &l ...

  3. 2流高手速成记(之三):SpringBoot整合mybatis/mybatis-plus实现数据持久化

    接上回 上一篇我们简单介绍了基于SpringBoot实现简单的Web开发,本节来看Web开发中必不可少的内容--数据持久化 先看项目结构: 1. 创建数据表 打开mysql,打开数据库 test (没 ...

  4. 驱动通信:通过PIPE管道与内核层通信

    在本人前一篇博文<驱动开发:通过ReadFile与内核层通信>详细介绍了如何使用应用层ReadFile系列函数实现内核通信,本篇将继续延申这个知识点,介绍利用PIPE命名管道实现应用层与内 ...

  5. vue3 vite2 封装 SVG 图标组件 - 基于 vite 创建 vue3 全家桶项目续篇

    在<基于 vite 创建 vue3 全家桶>一文整合了 Element Plus,并将 Element Plus 中提供的图标进行全局注册,这样可以很方便的延续 Element UI 的风 ...

  6. 驱动开发:内核枚举PspCidTable句柄表

    在上一篇文章<驱动开发:内核枚举DpcTimer定时器>中我们通过枚举特征码的方式找到了DPC定时器基址并输出了内核中存在的定时器列表,本章将学习如何通过特征码定位的方式寻找Windows ...

  7. 设计一个网上书店,该系统中所有的计算机类图书(ComputerBook)每本都有10%的折扣,所有的语言类图书(LanguageBook)每本都有2元的折扣,小说类图书(NovelBook)每100元

    现使用策略模式来设计该系统,绘制类图并编程实现 UML类图 书籍 package com.zheng; public class Book { private double price;// 价格 p ...

  8. 基于Camera Link和PCIe DMA的多通道视频采集和显示系统

    基于Camera Link和PCIe DMA的多通道视频采集和显示系统 在主机端PCIe驱动的控制和调度下,视频采集与显示系统可以同时完成对多个Camera Link接口视频采集以及Camera Li ...

  9. cordon节点,drain驱逐节点,delete 节点

    目录 一.系统环境 二.前言 三.cordon节点 3.1 cordon节点概览 3.2 cordon节点 3.3 uncordon节点 四.drain节点 4.1 drain节点概览 4.2 dra ...

  10. 第2-1-3章 docker-compose安装FastDFS,实现文件存储服务

    目录 4 docker-compose安装FastDFS 4.1 docker-compose-fastdfs.yml 4.2 nginx.conf 4.3 storage.conf 4.4 测试 4 ...