1.创建数据库 :create database 名称 [charset 字符集 collate 校对规则] ;  如:

drop database if exists `mydb` ;  # 若存在就删除

create database `mydb`  default charset=utf8 collate=utf8_general_ci ;

2.查看校队规则 :show collation;

3.查看数据库/表 :show databases/tables;

4.显示创建的数据库/表 :show create database/table 数据库名/表名[\G];

5.查看当前使用的数据库 :select database();

6.创建表 :create table 表名(
字段名 数据类型 [该字段约束条件],
字段名 数据类型 [该字段约束条件],
......
)[engine=InnoDB default charset=utf8mb4  collate=utf8mb4_general_ci];

7.删除数据集/表 :drop database/table 名;

8.查看数据表 :describe 表名 ;
或者 desc 表名;

9.修改表名 :alter table 表名 rename 新表名;
或者 rename table 表名 to 新表名;

10.主键约束(非空+唯一) :primary key
     外键约束:foreign key...reference...
   唯一约束 :unique
   非空约束 :not unll
     检查约束 :check(条件)

11.添加数据 :insert into 表名(字段名,字段名,字段名...不写默认全部字段) values
(数据,数据,数据),
(数据,数据,数据),
...;
或者 :insert into 表名
set 字段名=值,字段名=值,...;

12.删除数据 :delete from 表名 where 过滤条件;
或者 truncate 表名;

13.更新数据 :update 表名 set 字段名=值,字段名=值...where 过滤条件;

14.查询 :select * from 表名;
select 字段名,字段名,...from 表名;

过滤:where 过滤条件
in(集合)、 between...and(范围)、 is null(空值) 、distinct(排除重复值)、 like '%*%' (模糊查询) 、and(并且)、 or(或者)

15.复制表 :create table 新表名 like 旧表名; (拷贝结构)
create table 新表名 as (select * from 旧表名);   (拷贝结构和数据)
insert into 新表名 as (select * from 旧表名);   (拷贝数据)

16.聚合函数 :count()返回某列的行数, sum()返回某列的和 avg()返回某列的平均值,max()返回某列的最大值, min()返回某列的最小值, IFNULL(参数,如果为空则改为的值)

17.排序 :order by 字段名 asc/desc;
asc为升序 desc为降序 默认为asc

18.分组 :group by 字段名 having 过滤条件;

19.限制查询结果 :limit a,b;
a代表开始的标号(第一条为0) b代表显示的条数

20.子查询 :select 字段名,(子查询) from 表名;
select * from (子查询);
select * from 表名 where (子查询);
子查询关键字:exists(子查询):只要里面的子查询返回了行,exists的值为真,外部查询就执行。
字段名 (比较运算符如>) all (子查询) :大于子查询里的每一个值。
字段名 (比较运算符如>)someany (子查询) :大于子查询里的任何值,也就是最小值。
in(子查询) :存在。

21.联合操作 :select * from a
                    union
                    select * from b;
将两张表纵向连接起来,但是两张表的字段数必须相同

22.外键约束 :alter table 表名
add constraint 外键名 foreign key (外键字段名) references 外键表名 (主键字段名);
删除外键 :alter table 表名 drop foreign key 外键名

23.联表查询 :内连接 :select * from 表1 [inner] join 表2 [on/where 表1.关系字段=表2.关系字段]; (on是内联前过滤 ,where是产生笛卡尔乘积之后再过滤)
cross join(交叉连接,在MySQL中等价于inner join)
外连接(必须写关联条件) 左外: select * from 表1 left [outer] join 表2 on 表1.关系字段=表2.关系字段;
右外: select * from 表1 right [outer] join 表2 on 表1.关系字段=表2.关系字段;
全外: select * from 表1 full [outer] join 表2; (MySQL不支持,可以用union)
自连接 :select * from 表1 别名1 join 表1 别名2;

24.创建视图 :create view 视图名 as
                    select语句
查看视图 : ①desc 视图名
②show table statas like '视图名'
③show create view 视图名
修改视图 :create or replace view 视图名 as
               select语句
或者 alter view 视图名 as
       select语句
25.case when 字段=数据1 then '返回值1' when 字段=数据2 then '返回值2'... else '返回值3’ end [as] 字段别名

例如:select id,name,(case when ismale=1 then '男' when ismale=2 then '女' else '未知性别' end) as 性别 from employee;

26.备份

备份所有数据库:
mysqldump –u 用户名 –p –h 主机名 --all-databases > 备份文件名.sql

备份整个或多个数据库:
mysqldump –u 用户名 –p –h 主机名 --databases db1 db2 db3 … > 备份文件名.sql

备份某个数据库的某些表:
mysqldump –u 用户名 –p –h 主机名 数据库名 表1 表2 表3… > 备份文件名.sql

27.恢复

通过mysqldump,如果使用了"--all-databases"或"--databases"选项,则在备份文件中包含CREATE DATABASE和USE语句,故并不需要指定一个数据库名去恢复备份文件。
mysql –u 用户名 –p < 备份文件.sql

通过mysqldump,如果没有使用"--databases"选项,则备份文件中不包含CREATE DATABASE和USE语句,那么在恢复的时候必须指定数据库。
mysql –u 用户名 –p 数据库名 < 备份文件.sql

28.设置自动创建和自动更新时间(格式是:2018-01-01 00:00:00)

自动创建时间:`create_datetime` timestamp default current_timestamp

自动更新时间:`update_datetime` timestamp default current_timestamp on update current_timestamp

29.修改用户密码

alter user username@localhost identified by 'newpwd';

30.给用户授权

grant all privileges on dbname.* to username@localhost;

flush privileges;  # 刷新生效

  至此,转载请注明出处。

MySQL 基本语句(2)的更多相关文章

  1. MySQL的语句执行顺序

    MySQL的语句执行顺序 MySQL的语句一共分为11步,如下图所标注的那样,最先执行的总是FROM操作,最后执行的是LIMIT操作.其中每一个操作都会产生一张虚拟的表,这个虚拟的表作为一个处理的输入 ...

  2. strace追踪mysql执行语句

    一.strace参数 strace是Linux环境下的一款程序调试工具,用来监察一个应用程序所使用的系统调用及它所接收的系统信息.追踪程序运行时的整个生命周期,输出每一个系统调用的名字,参数,返回值和 ...

  3. MySQL 基础语句

    MySQL 基础语句 多个知识点 ----------------------------------------------------------------------------------- ...

  4. MySQL DELETE语句和TRUNCATE TABLE语句的区别

    MySQL DELETE语句和TRUNCATE TABLE语句的区别 2010-10-08 16:05 佚名 互联网 字号:T | T 在MySQL数据库中,DELETE语句和TRUNCATE TAB ...

  5. 使用 xlrd 模块实现对excel 的读取、excel转json 、excel 转 mysql insert 语句

    #-*- coding:utf-8 -*- # 处理 excel 中的 area 为 Mysql insert 语句 import xlrd, json, codecs, os # data = xl ...

  6. MySQL update语句和insert插入语句写法完全不一样啊,不要搞混

    1.mysql update 语句: update user set name = 'xiaoming',age = 18 where uid = 3000; 更新记录时update操作也不需要写ta ...

  7. 最常用的MySQL命令语句

    e良师益友网导读:MySQL数据库是应用最广的数据库之一,在MySQL数据库中有各种各样的命令调用语句,在平常工作中非常实用的命令,对于初学者来说,掌握文中的MySQL命令语句,是非常实用的,下面我们 ...

  8. MySQL 常用语句 (汇集)

    原文地址:MySql常用语句作者:wuyanle 一.mysql常用语句 创建,删除和最基本查询: 显示数据库  mysql->show databases; 创建数据库  mysql-> ...

  9. mysql 插入语句

    mysql 插入语句 什么时候用单引号,什么时候不用? 1.先创建一个表 create table user(username varchar(255),age int,marry boolean,b ...

  10. MySQL查询语句执行过程及性能优化(JOIN/ORDER BY)-图

    http://blog.csdn.net/iefreer/article/details/12622097 MySQL查询语句执行过程及性能优化-查询过程及优化方法(JOIN/ORDER BY) 标签 ...

随机推荐

  1. 【EF6学习笔记】(二)操练 CRUD 增删改查

    本篇原文链接: Implementing Basic CRUD Functionality 说明:学习笔记参考原文中的流程,为了增加实际操作性,并能够深入理解,部分地方根据实际情况做了一些调整:并且根 ...

  2. 【NET CORE微服务一条龙应用】第三章 认证授权与动态权限配置

    介绍 系列目录:[NET CORE微服务一条龙应用]开始篇与目录 在微服务的应用中,统一的认证授权是必不可少的组件,本文将介绍微服务中网关和子服务如何使用统一的权限认证 主要介绍内容为: 1.子服务如 ...

  3. 第1章 Linux文件类基础命令

    1. 关于路径和通配符 Linux中分绝对路径和相对路径,绝对路径一定是从/开始写的,相对路径不从根开始写,还可能使用路径符号. 路径展开符号: . :(一个点)表示当前目录 .. :(两个点)表示上 ...

  4. Go标准库:Go template用法详解

    本文只介绍template的语法和用法,关于template包的函数.方法.template的结构和原理,见:深入剖析Go template. 入门示例 以下为test.html文件的内容,里面使用了 ...

  5. C#操作DataReader类

    一.常用属性 名称 说明 Depth 获取一个值,用于指示当前行的嵌套深度 FieldCount 获取当前行中的列数 HasRows 获取一个值,该值指示 SqlDataReader 是否有行 IsC ...

  6. C#爬虫----Fiddler 插件开发 自动生成代码

    哈喽^_^ 一般我们在编写网页爬虫的时候经常会使用到Fiddler这个工具来分析http包,而且通常并不是分析一个包就够了的,所以为了把更多的时间放在分析http包上,自动化生成封包代码就尤为重要了( ...

  7. cronolog日志切割catalina.out

    cronolog日志切割catalina.out (一)解压安装cronolog 1:wget  https://files.cnblogs.com/files/crazyzero/cronolog- ...

  8. linux磁盘管理增加,扩容

    一.磁盘空间不足,添加新的磁盘 一般来说,当我们在服务上插入新的磁盘时,服务器是会对磁盘进行识别的.但是,有的时候服务器并没有对这些新插入的磁盘进行识别.这时,我们可以通过重启服务器,来使服务器重新加 ...

  9. EF to Sqlite

    测试下来,使用到下面的版本: EF6.1 System.Data.SQLite.EF6.1.0.93.0 System.Data.SQLite.Core.1.0.93.0  注意事项: 设置Autoi ...

  10. struts2_项目运行报404

    1.缺少jar包,commons-lang3-3.2.jar 参考网址:https://blog.csdn.net/u013457382/article/details/50972401 2.stru ...