要操作数据库,首先要登录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原生语句基础知识的更多相关文章

  1. MySQL系列(一)--基础知识(转载)

    安装就不说了,网上多得是,我的MySQL是8.0版本,可以参考:CentOS7安装MySQL8.0图文教程和MySQL8.0本地访问设置为远程访问权限 我的MySQL安装在阿里云上面,阿里云向外暴露端 ...

  2. mysql学习之基础知识

    一.什么是数据库 一般而言,数据库(Database)是按照数据结构来组织.存储和管理数据的仓库.我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢.所以,使用关系型数据库管理系统(RDB ...

  3. 手撸Mysql原生语句--多表

    在开始之前,我们需要建立表,做建表和数据的准备的工作. 1.建表 create table department( id int, name varchar(20) ); create table e ...

  4. MySQL原生语句个人补漏

    # insert插入insert into table_name (field1,field2...fieldn) **values** (value1,value2...valuen);所有列需添加 ...

  5. mysql的优化基础知识

    1.查看各种SQL执行的频率 mysql> show status like 'Com_select';--Com_insert,Com_delete,connections(试图连接mysql ...

  6. 手撸Mysql原生语句--增删改查

    mysql数据库的增删改查有以下的几种的情况, 1.DDL语句 数据库定义语言: 数据库.表.视图.索引.存储过程,例如CREATE DROP ALTER SHOW 2.DML语句 数据库操纵语言: ...

  7. SQL语句基础知识

    1.关于SQL语句中exists与not exists的问题 course表如下:课程代号 课程名称 K01 奥运会主题曲 K02 喜爱的专辑 K03 VB技术大全 K04 经典歌曲 K05 个人单曲 ...

  8. mysql回想一下基础知识

    创建数据库 creat table test( #整数通常用于int test_id int, #十进制通常使用decimal test_price decimal, #普通文本通常使用.并使用Def ...

  9. 终于不再在懵逼mysql原生语句,orm超级登场

    import sqlalchemy from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import cre ...

随机推荐

  1. Python:黑板课爬虫闯关第五关

    第五关是最后一关了,至此之后黑板课就没有更新过关卡了. 第五关地址:http://www.heibanke.com/lesson/crawler_ex04/ 可以看到,是在第三关的基础上加了验证码. ...

  2. Docker最全教程——数据库容器化(十)

    终于按时完成第二篇.本来准备着手讲一些实践,但是数据库部分没有讲到,部分实践会存在一些问题,于是就有了此篇以及后续——数据库容器化.本篇将从SQL Server容器化实践开始,并逐步讲解其他数据库的容 ...

  3. 极光推送经验之谈-Java后台服务器实现极光推送的两种实现方式

    原创作品,可以转载,但是请标注出处地址http://www.cnblogs.com/V1haoge/p/6439313.html Java后台实现极光推送有两种方式,一种是使用极光推送官方提供的推送请 ...

  4. 将Xml文件递归加载到TreeView中

    #region [通过XDocument的方式将Xml文件递归到TreeView控件中] //读取Xml文件(XDocument) //1.加载Xml文件 XDocument  document=XD ...

  5. springboot源码分析-SpringApplication

    SpringApplication SpringApplication类提供了一种方便的方法来引导从main()方法启动的Spring应用程序 SpringBoot 包扫描注解源码分析 @Spring ...

  6. Django之无名分组,有名分组

    在Django 2.0版本之前,在urls,py文件中,用url设定视图函数 urlpatterns = [ url(r'login/',views.login), ] 其中第一个参数是正则匹配,如下 ...

  7. 学习笔记—JVM

    JVM结构 JVM总体结构图 类加载子系统与方法区: 类加载子系统负责从文件系统和网络中加载Class信息,加载的类信息存放于一块称为方法区的内存空间. 除了类信息外,方法区中还可能会存放运行时常量池 ...

  8. webpack 单独打包指定JS文件(CopyWebpackPlugin)

    背景: 不确定打出的前端包所访问的后端IP,需要对项目中IP配置文件单独拿出来,方便运维部署的时候对IP做修改.因此,需要用webpack单独打包指定文件.npm install --save-dev ...

  9. Django 提交 form 表单(使用sqlite3保存数据)

    优化 提交 form 表单,https://www.cnblogs.com/klvchen/p/10608143.html 创建数据库的字段,在 models.py 中添加 from django.d ...

  10. [笔记]记录原开发工作在base命名空间下扩展的属性与方法

    前言 该笔记只是为了记录以前开发使用的方式. 处理命名空间namespace /** * 处理命名空间 * @param {string} 空间名称,可多个 * @return {object} 对象 ...