zoukankan      html  css  js  c++  java
  • Mysql--SQL语句

    一 SQL分类

     SQL是结构化查询语言,专门用来和关系型数据库进行通信的语言

      DML Data Manipulation Language 数据库操纵语言,对数据的写操作

         INSERT   插入数据

         DELETE  删除数据

         UPDATE  更新数据

      DDL Data Definition Language 数据库定义语言 对非数据以外的写操作(数据库、表、索引、存储过程、函数)

         CREATE  创建

         DROP      删除

         ALTER     修改

      DCL Data Control Language 数据库控制语言(例:控制用户的访问权限)

         GRANT 授权

         REVOKE 撤销

      DQL Data Query Language 数据库查询语言

         SELECT 查询

     大小写

      关键字、函数名、列名和索引名不区分大小写

      数据库的名字、表名、别名区分大小写的(因为linux是区分大小写的)

    二 执行SQL语句

     命令行执行  mysql -u用户 -p密码 -e "sql语句"

     SQL文件   mysql -uroot -p < stu.sql

            mysql -uroot -p -D db1 < stu.sql  -D 指定库

    三 函数

      database()  select database(); #查看当前所在的库

      user()    select user(); #查看当前登陆的用户

      password()         #给字符串加密,一般用于修改密码

     聚合函数

      sum()    select sum(age) from t1;   #显示age字段的和
      avg()      select avg(age) from t1;   #求age字段的平均值
      max()     select max(age) from t1;   #最大值
      min()      select min(age) from t1;    #最小值
      count()      select sex,count(sex) from t1 group by sex;   #统计sex字段每种有多少条记录 
             select count(*) from pass;            # 统计表中有多少条非空的记录

     时间函数

      curtime()    select curtime();      查看当前时间

      curdate()   select curdate();      查看当前日期

      now() sysdate()            查看系统时间

     连接函数

      concat()    select concat(username,uid) from pass;

     转换成小写 lower()

      update pass set username='ROOT' where username='root';

      select lower(username) from pass;

     转换成大写 upper()

      select upper(username) from pass;

     求长度

      select username,length(username) from pass;

    四 其他命令

     status;         查看服务器状态

     show processlist;  查看连接数

     show variables;     查看服务器设置

    五 基本SQL语句

    分类 命令 描述
    创建 create database db; 创建库
      create table stu_info(id int(11),name char(50)); 创建表(一定要有一个字段,类型,宽度)
         
    删除 drop database db; 删除库
      drop table stu_info; 删除表
      truncate stu_info; 清空表/初始化
      alter table stu_info drop phone; 删除字段
      delete from stu_info where id=2 && name='lucy'; 删除记录
      delete from mysql.user where user=' '; 删除匿名用户
      delete from score where id is null; 删除没有值
         
    切换 use wff; 进入wff库(相当于cd)
         
    查看 show databases; 查看所有库
      show create database wff; 查看库的创建属性
      show tables; 查看所有表
      show create table stu_infoG 查看表的创建属性
      show warnings; 查看警告信息
      desc stu_info; 查看表结构
      select * from stu_info; 查看表的所有字段的所有记录
      select id,math form score; 查看具体字段的记录
      select * from mysql.user; 查看另一个表的内容
      select host,user,password from mysql.user; 查看另一个表的user host
      select database(); 查看当前所在的库
      show variables like '%port%'; 查看端口
      show processlist; 查看进程
      status;/show status; 状态
      select user(); 查看当前登录的用户
         
    插入 alter table stu_info add sex char(6); 添加字段(默认末行)
      alter table stu_info add age int first; 添加字段在首行
      alter table stu_info add age int after name; 添加字段在某字段后面
      insert into stu_info set id=2,name='tom'; 添加记录(字符串需加'')
      insert into stu_info values(3,'jin'),(4,'sfe'); 添加记录(数值一一对应)
      insert into stu_info (name) values ('guer'); 添加记录到具体字段
         
    修改 update stu_info set age=18 where id=2; 修改age定位id=2
      update stu_info set age=18 where id=2 and name='lucy'; 精确定位(and && ||or)
         
    算术运算 select 3+4; 直接进行算术运算
      select id,a+b+c from score order by a+b+c desc;

    计算总值(a+b+c)

      select id,a+b+c as total from score order by total desc; 设置别名用于简写
      select id,chinese form score where chinese=(select max(chinese) from score); 显示最大值
         
    统计 select count(id) from score; 统计id个数
      select sex,count(sex) from stu_info group by sex; 分类统计sex
      select sum(english) from score; 统计数值
      select id,chinese from score where chinese >= 90; 统计90以上的id
         
    排序 select id,math form score order by math; 从小到大排序
      select id,math form score order by math desc; 从大到小排序
      select id,math form score order by math desc limit 3; 前三名
         
    平均值 select sum(english)/4 from score; 求平均数
      select avg(english) from score; avg平均函数
         
    匹配 select * from stu_info where name like '%m%'; 包含有m的字段 %--所有
      select * from stu_info where name like 't_m'; _单个字符
      select * from stu_info where name regexp 'm$'; 使用正则
         
    多表查询 select t1.name,t1.sex,t2.math from t1 join t2 on t1.name=t2.name;  
      select a.name,b.sex,t2.math from t1 a join t2 b on a.name=b.name; 设置别名
      select t2.name,t1.sex,t2.math from t1 right join t2 on t1.name=t2.name; 右表显示所有
      select t1.name,t1.sex,t2.math from t1 left join t2 on t1.name=t2.name; 左表显示所有
      select stu.name,score.shell+linux+mysql total from stu join score on stu.id=score.stu_id order by total desc limit 3;  
  • 相关阅读:
    jQuery EasyUI API 中文文档 可调整尺寸
    jQuery EasyUI API 中文文档 链接按钮(LinkButton)
    jQuery EasyUI API 中文文档 手风琴(Accordion)
    jQuery EasyUI API 中文文档 表单(Form)
    jQuery EasyUI API 中文文档 组合(Combo)
    jQuery EasyUI API 中文文档 布局(Layout)
    jQuery EasyUI API 中文文档 拆分按钮(SplitButton)
    jQuery EasyUI API 中文文档 菜单按钮(MenuButton)
    jQuery EasyUI API 中文文档 搜索框
    jQuery EasyUI API 中文文档 验证框(ValidateBox)
  • 原文地址:https://www.cnblogs.com/Xinenhui/p/14123556.html
Copyright © 2011-2022 走看看