美文网首页
mysql 常用基础

mysql 常用基础

作者: Canes | 来源:发表于2020-04-10 13:06 被阅读0次

mysql语法规范

  1. 关键字大写,表名、列名小写
  2. 命令结束符默认为分号结尾
  3. 注释
    • 单行注释:#注释文字
    • 单行注释:-- 注释文字
    • 多行注释:/* 注释文字 */

mysql常用语句

  1. 操作数据库
    create database 库名;
    show databases;
    use db_name;
    drop database 库名;
  2. 查看当前数据库中的所有表
    show tables;
  3. 查看表结构
    desc tb_name;
  4. 创建表
    create table tb_name(column1 type1,column2 type2,...);
    DROP TABLE [IF EXISTS] studentinfo;
CREATE TABLE IF NOT EXISTS stuinfo(
    stuId INT,
    stuName VARCHAR(20),
    gender CHAR,
    bornDate DATETIME
  1. 查看mysql版本
  • mysql -V
  • select version();
  1. 查看表中数据
    select * from tb_name;
    select * from tb_name where condition1 and condition2;
    select * from tb_name where column1 like 'a%';
  2. 排序
    select 查询项 from 表名 where 条件 order by 排序字段 [desc|asc ]
  3. 分组
    select 查询项 from 表名 group by 分组字段

分组前筛选: 原始表 group by的前面 where
分组后筛选: 分组后的结果集 group by的后面 having

  1. 分页
    select * from 表 limit (page-1)*sizePerPage,sizePerPage

起始索引(从零开始),选择个数

多表查询

  • 交叉连接
    生成笛卡尔积,即表1(4条数据),表2(8条数据)每个项都匹配,返回(32条数据)
    select * from 表1,表2;
  • 自连接
    对同一张表进行操作
    select * from students as s1 inner join students as s2 on 条件(s1.字段=s2.字段)
  • 内链接
    只连接匹配的行
    select * from students inner join scores on 条件(表1.字段=表2.字段)
  • 外连接( left join,right join)
    优先显示左表全部记录 left join
    select * from students left join scores on 条件(表1.字段=表2.字段)
  • 联合查询
    union and union all
    select * from courses union all select * from scores;
  select * from courses LEFT JOIN scores on (courses.cno = scores.cno)
  UNION
  select * from courses RIGHT JOIN scores on (courses.cno = scores.cno);

1、多条查询语句的查询的列数必须是一致的
2、多条查询语句的查询的列的类型几乎相同
3、union代表去重,union all代表不去重

子查询

一条查询语句中又嵌套了另一条完整的select语句

  • 子查询根据返回结果分为两类
    1. 单行子查询
      结果集只有一行
      一般搭配单行操作符使用:> < = <> >= <=
      非法使用子查询的情况:
      a、子查询的结果为一组值
      b、子查询的结果为空

    2. 多行子查询
      结果集有多行
      一般搭配多行操作符使用:any、all、in、not in
      in: 属于子查询结果中的任意一个就行
      any和all往往可以用其他查询代替

插入数据

insert into 表名(字段名,...) values(值1,...);

更新数据

update 表名 set 字段=新值,字段=新值 [where 条件]
update 表1 别名1,表2 别名2 set 字段=新值,字段=新值 where 连接条 and筛选条件

删除数据

  • delete
    delete from 表名 [where 筛选条件]
  • truncate
    truncate table 表名

1 truncate不能加where条件,而delete可以加where条件
2 truncate的效率高一丢丢
3 truncate 删除带自增长的列的表后,如果再插入数据,数据从1开始; delete 删除带自增长列的表后,如果再插入数据,数据从上一次的断点处开始
4 truncate删除不能回滚,delete删除可以回滚
总之:当你不再需要该表时, 用 drop;当你仍要保留该表,但要删除所有记录时, 用 truncate;当你要删除部分记录时(always with a WHERE clause), 用 delete

修改表

ALTER TABLE 表名 ADD|MODIFY|DROP|CHANGE COLUMN 字段名 【字段类型】;

ALTER TABLE stuinfo RENAME  aaa;  #修改表名
ALTER TABLE aaa CHANGE  gender sex CHAR; #旧字段名,新字段名,新字段类型
ALTER TABLE aaa MODIFY  sex varchar(2);
ALTER TABLE aaa ADD COLUMN std_level varchar(10);
ALTER TABLE aaa DROP std_level;

相关文章

  • mysql 常用基础

    mysql语法规范 关键字大写,表名、列名小写 命令结束符默认为分号结尾 注释单行注释:#注释文字单行注释:-- ...

  • mysql 使用笔记

    mysql基础常用命令:http://www.cnblogs.com/mchina/archive/2013/04...

  • Mysql常用SQL语句收集

    mysql常用sql语句收集 基础篇 //查询时间,友好提示 $sql = "select date_format...

  • Mysql基础-存储引擎详述

    前文索引:Mysql基础-存储引擎简述 说明:本节将详细介绍一下常用的Mysql存储引擎特性 MyISAM 它不支...

  • MySQL基础-常用指令

    MySQL常用基本指令 1 常用数据库操作指令 创建数据库 create database 删除数据库 drop...

  • MySql基础-常用函数

    创建数据库 CHARACTER:指定字符集 COLLATE:指定校对规则utf8_general_ci:默认:不区...

  • mysql常用命令书目录

    mysql常用命令之连接MYSQL mysql常用命令之修改密码 mysql常用命令之增加新用户 mysql常用命...

  • 设置更改root密码、连接MySQL、MySQL常用命令

    设置更改root密码 连接MySQL 连接MySQL MySQL常用命令 MySQL常用命令MySQL常用命令 扩...

  • 面试题:简答题

    基础题 以下代码输出的结果是 数据库 1. MySQL的常用类型有哪些? 2. MySQL的char var...

  • 这些Mysql常用命令你是否还记得?

    前言 记录mysql常用命令操作 基础操作 命令行登录mysql 为表增加创建时间和更新时间 修改密码 普通 带插...

网友评论

      本文标题:mysql 常用基础

      本文链接:https://www.haomeiwen.com/subject/ezfrmhtx.html