mysql原生语句基础知识
要操作数据库,首先要登录mysql:
*mysql -u root -p 密码
创建数据库:
*create database Runoob(数据库名);
删除数据库:
*drop database Runoob;
选择使用某个数据库:
*use Runoob;
查看所有数据库:
show databases;
创建数据表:
create table Table_name charset=utf8;
create table if not exists 'Table_name'(
'id' int unsigned primaty key auto_increment,
'name' varchar(32) not null,
'create_time' Date
)ENGING=InnoDB DEFAULT CHARSET=UTF8;
查看表结构:
desc Table_name;
删除数据表:
drop table Table_name;
查看所有的表:
show tables;
insert into Table_name (filed1,filed2,...) values (value1, value2,...);
实例:
insert into Table_name ('name','create_time') values ('学习mysql', NOW());
查询语句:
select column_name1, column_name2 from Table_name [where 条件] [limit n] [offset m]
1、通过limit属性限制返回的数量
2、通过offset指定开始查询的数据偏移量,默认是0
修改或更新数据:
update Table_name set field1=new_value1,field2=new_value2 [where 条件]
根据条件修改指定某条数据某些字段的值
实例:
1、将所有人的年龄加1 update students set age=age+1;
2、将id为5的手机号改为默认的-:update students set tel=default where id=5;
3、将手机号为17521192856的姓名改为小马:update students set name='小马' where tel='17521192856';
使用update替换某个字段中的某个字符(批量修改指定字符串):
update Table_name set filed_name=replace(field_name, 'old_value','new_value') [where 条件]
实例:
把表中所有name列的值为c++的值改为python
update Table_name set name=replace(name, 'c++', 'python');
删除数据:
delete from Table_name [where 条件];
如果没有指定where子句,将删除表中的所有记录
实例:delete from students where id=3;
模糊查询:
sql like 子句中使用%来表示任意字符,类似于正则表达式中的*,如果没有使用%,_表示一个占位字符,like子句与=的效果一样。
select field1,field2... from Table_name where field1 like 条件1 [and [or]] field2='somevalue';
实例:
1、查询name列中所有的包含COM的数据行
select * from students where name like '%COM';
union将不同表中相同列中查询的数据展示出来(默认去重):
MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。
select field1, field2,... from table1 [where 条件] union [all] select field11, field22,... from table2 [where 条件] [order by field]
标签:注:两个select语句中至少有一个field一样
实例:
select country from Websites union select country from apps order by country;去重
select country, name from Websites union all select country, app_name from apps order by country ASC;不去重
排序:
select field1,field2... from Table_name [where 条件] order by field1 desc;
联合查询
内连接inner join ... on ...
table1:
table2:
从以上两张表来读取table1表中所有runoob_author字段在table2表对应的runoob_count字段值:
select a.runoob_id,a.runoob_author,b.runoob_count from table1 as a inner join table2 on a.runoob_author = b.runoob_author;
等同于:
select a.runoob_id,a.runoob_author,b.runoob_count from table1 as a, table2 as b where a.runoob_author = b.runoob_author;
左连接left join ... on ...(获取左侧表的所有数据和右侧满足条件的数据) :
select a.runoob_id,a.runoob_author,b.runoob_count from table1 as a left join table2 as b on a.runoob_author = b.runoob_author;
右连接:
select a.runoob_id, a.runoob_author,b.runoob_count from table1 as a right join table2 as b on a.runoob_author = b.runoob_author;
mysql原生语句基础知识的更多相关文章
- MySQL系列(一)--基础知识(转载)
安装就不说了,网上多得是,我的MySQL是8.0版本,可以参考:CentOS7安装MySQL8.0图文教程和MySQL8.0本地访问设置为远程访问权限 我的MySQL安装在阿里云上面,阿里云向外暴露端 ...
- mysql学习之基础知识
一.什么是数据库 一般而言,数据库(Database)是按照数据结构来组织.存储和管理数据的仓库.我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢.所以,使用关系型数据库管理系统(RDB ...
- 手撸Mysql原生语句--多表
在开始之前,我们需要建立表,做建表和数据的准备的工作. 1.建表 create table department( id int, name varchar(20) ); create table e ...
- MySQL原生语句个人补漏
# insert插入insert into table_name (field1,field2...fieldn) **values** (value1,value2...valuen);所有列需添加 ...
- mysql的优化基础知识
1.查看各种SQL执行的频率 mysql> show status like 'Com_select';--Com_insert,Com_delete,connections(试图连接mysql ...
- 手撸Mysql原生语句--增删改查
mysql数据库的增删改查有以下的几种的情况, 1.DDL语句 数据库定义语言: 数据库.表.视图.索引.存储过程,例如CREATE DROP ALTER SHOW 2.DML语句 数据库操纵语言: ...
- SQL语句基础知识
1.关于SQL语句中exists与not exists的问题 course表如下:课程代号 课程名称 K01 奥运会主题曲 K02 喜爱的专辑 K03 VB技术大全 K04 经典歌曲 K05 个人单曲 ...
- mysql回想一下基础知识
创建数据库 creat table test( #整数通常用于int test_id int, #十进制通常使用decimal test_price decimal, #普通文本通常使用.并使用Def ...
- 终于不再在懵逼mysql原生语句,orm超级登场
import sqlalchemy from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import cre ...
随机推荐
- libevent和libcurl实现http和https服务器 cJSON使用
前言 libevent和libcurl都是功能强大的开源库:libevent主要实现服务器,包含了select.epoll等高并发的实现:libcurl实现了curl命令的API封装,主要作为客户端. ...
- Redis集群伸缩
集群扩容 前提准备,目前集群中一共有6台机器,端口号分别是6381.6382.6383.6384.6385.6386 1) 准备新节点 准备两个新节点,端口号为6387和6388,配置和以前集群配置一 ...
- SLAM+语音机器人DIY系列:(二)ROS入门——2.ROS系统整体架构
摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...
- 时间序列算法(平稳时间序列模型,AR(p),MA(q),ARMA(p,q)模型和非平稳时间序列模型,ARIMA(p,d,q)模型)的模型以及需要的概念基础学习笔记梳理
在做很多与时间序列有关的预测时,比如股票预测,餐厅菜品销量预测时常常会用到时间序列算法,之前在学习这方面的知识时发现这方面的知识讲解不多,所以自己对时间序列算法中的常用概念和模型进行梳理总结(但是为了 ...
- 【技术解析】如何用Docker实现SequoiaDB集群的快速部署
1. 背景 以Docker和Rocket为代表的容器技术现在正变得越来越流行,它改变着公司和用户创建.发布.运行分布式应用的方式,在未来5年将给云计算行业带来它应有的价值.它的诱人之处在于: 1)资源 ...
- 能够玩转BKY皮肤的 geek,有一半最后都成为了前端大师
By Conmajia March 9, 2018 剩下的那一半全部扑街了. 世纪之初,BKY那些花里胡哨的预设皮肤曾经让初识网络的懵懂学子雀跃不已. 然而以现在的审美眼光看来,这些带着一股子扑面而来 ...
- [Javascript] js的类和对象
类 graph LR 类-->构造函数 类-->prototype对象 类-->instanceof运算符 类-->constructor属性 类-->isPrototy ...
- vue中的tab栏切换内容变换
<!DOCTYPE html> <html lang="cn-zh"> <head> <meta charset="UTF-8& ...
- (六) Keras 模型保存和RNN简单应用
视频学习来源 https://www.bilibili.com/video/av40787141?from=search&seid=17003307842787199553 笔记 RNN用于图 ...
- Webpack4教程 - 第三部分,如何使用插件
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者.原文出处:https://wanago.io/2018/07/23/webpack-4-course-part ...