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 ...
随机推荐
- [SpringBoot guides系列翻译]通过JDBC和Spring访问关系数据库
原文 参考链接 hikaricp Spring Boot JDBC Starter Spring Boot Starter Parent h2 database introduction Autowi ...
- [Javascript] js的类和对象
类 graph LR 类-->构造函数 类-->prototype对象 类-->instanceof运算符 类-->constructor属性 类-->isPrototy ...
- 用VS2017进行移动开发(C#、VB.NET)——OfflineCameraButton控件,Smobiler移动开发
OfflineCameraButton控件 一. 样式一 我们要实现上图中的效果,需要如下的操作: 从工具栏上的“Smobiler Components”拖动一个OfflineCam ...
- RequireJS入门级_RequireJS能给我们带来什么帮助?
前言:其实很早前就已经接触和了解到RequireJS了,当时只是大概明白它能用来控制JS的加载顺序,即:页面一定要先加载这个JS,再加载那个JS,对于RequireJS的好处还没有一个真正的体会和认识 ...
- C#工具:加密解密帮助类
using System; using System.IO; using System.Security.Cryptography; using System.Text; //加密字符串,注意strE ...
- Java 项目中一种简单的动态修改配置即时生效的方式 WatchService
这种方式仅适合于比较小的项目,例如只有一两台服务器,而且配置文件是可以直接修改的.例如 Spring mvc 以 war 包的形式部署,可以直接修改resources 中的配置文件.如果是 Sprin ...
- tomcat部署项目后,war包是否可刪?war包存在必要性!
在tomcat中webapps目錄上傳war包后, 对war解压时候. war不能在tomcat运行时删除,否则会删除自动解压的工程. 你可以停止tomcat后删除war. 当你重新部署的时候,如果 ...
- springboot源码分析-SpringApplication
SpringApplication SpringApplication类提供了一种方便的方法来引导从main()方法启动的Spring应用程序 SpringBoot 包扫描注解源码分析 @Spring ...
- phpStudy2018安装与配置步骤详解
phpStudy 2018是一款非常强大的php环境调试工具,一次性安装,无须配置即可使用,是非常方便.好用的PHP调试环境.对学习PHP的新手来说,WINDOWS下环境配置是一件很困难的事:对老手来 ...
- KsUML 免费的类图建模工具
最近基于SharpDevelop和NClass两个开源软件,开发了一个免费的类图建模工具,详情请访问 www.TimeGIS.com KsUML类图建模工具是一个用来给软件开发人员使用的一种UML类图 ...