一: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. MySQL之pt-query-digest分析慢查询日志的详情介绍

    一.简介 pt-query-digest是用于分析mysql慢查询的一个工具,它可以分析binlog.General log.slowlog,也可以通过SHOWPROCESSLIST或者通过tcpdu ...

  2. 等保审核 --- MySQL密码复杂度--和连接错误超时等

    系统版本: Centos 7 MySQL版本: 5.7.19 架构: 主从架构 审计插件: validate_password.so(数据库自带5.6后版本都拥有此插件) 操作过程: 1). 安装va ...

  3. 【论文翻译】KLMo: Knowledge Graph Enhanced Pretrained Language Model with Fine-Grained Relationships

    KLMo:建模细粒度关系的知识图增强预训练语言模型 (KLMo: Knowledge Graph Enhanced Pretrained Language Model with Fine-Graine ...

  4. hive数据导出到linux本地

    方法1(hive下执行):insert overwrite local directory 'Linux本地目录' row format delimited fields terminated by  ...

  5. H3C交换机配置DHCP服务器

    dhcp server ip-pool vlan4020 network 10.3.7.0 mask 255.255.255.0 gateway-list 10.3.7.254 dns-list 20 ...

  6. 洛谷P2827 [NOIP2016 提高组] 蚯蚓 (二叉堆/队列)

    容易想到的是用二叉堆来解决,切断一条蚯蚓,其他的都要加上一个值,不妨用一个表示偏移量的delta. 1.取出最大的x,x+=delta: 2.算出切断后的两个新长度,都减去delta和q: 3.del ...

  7. 一键生成通用高亮代码块到剪贴板,快捷粘贴兼容 TT/WX/BJ 编辑器

    有些在线图文编辑器不支持直接插入代码块,但可以直接粘贴 HTML 格式的高亮代码块. 花了一点时间研究了一下各家的编辑器,规则却各不相同.有的要求代码块被包含于 <code> ... &l ...

  8. UML类中的6种关系

    最近现看Java设计模式,但是越看越不明白,一直搞不明白类与类之前的关系有哪些,通过几天的学习与整理通过代码实现的UML画图的方式理解类之间的相互关系. 一.类与类6大关系: 泛化(generaliz ...

  9. python2与python区别汇总

    目录 输入与输出 range使用区别 字符编码区别 输入与输出 python2与python3中两个关键字的区别 python2中 input方法需要用户自己提前指定数据类型 写什么类型就是什么类型 ...

  10. laravel 报错 AUTH` failed: ERR Client sent AUTH, but no password is set

    明明没有设置redis密码.访问时候却报错 在代码里面的databases.php 改成这样就可以了.predis新版也会有取不到passwor的时候.改成我截图那样也可以.他默认取的是default ...