• sql 语句


    SQL基础

    1.创建用户,用户访问数据库(防火墙需要关闭)

       grant all privileges on *.* to 'root' @'%' identified by “123456” with grant option

    2.权限生效:flush  privileges;

    3.create database 数据库名称;   ------创建数据库

    4.create table 表名(字段名1  数据类型   comment“注释”,字段名2  数据类型,......)comment“注释”;--------创建表结构

    5.常见的数据类型

    int (n)-----可以设置最大范围,char(n),varchar(n),date,time,datetime,flaot(m,d),double(m,d),decimal(m,d)------m代表总位数,d代表小数--------decimal 用于字符串来存储,精度高

    6.主键:主键值不能重复,因此主键可以唯一标识一行数据

                  一个表只能有一个主键

                  主键可以自动设置为 NOT  NULL(非空)

                  主键是非必需的,也就是说,一个表可以不声明主键字段

       语法:字段名  数据类型  primary key  atuo_increment   comment “备注”

       注释:单行:--  空格  

                  多行:/*   */

         

    sql 增删改查

    1.插入一条数据,对所有字段赋值

     insert into 表名 values(值1,值2.....值n)

     例如:insert into member(“1”,“赵二”,“10001”)

     

    2.插入一条数据,对部分字段赋值(如果字段和sql中关键字段冲突,可以加上反引号)

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

     

    3.插入多条记录,对部分字段赋值、对所有字段赋值

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

    (值1,值2)

    ,(值1,值2);

    insert into member(“1”,“赵二”,“10001”),

    (“2”,“赵三”,“10002”)

     

    4.修改表中的数据

    update 表名 set 字段名1=新值1,字段名2=新值2,.....where 条件表达式

     

    5.删除数据库

    drop database 数据库名;

     

    6.删除表

    drop table 表名;

     

    7.删除数据

    删除所有记录: delete from 表名;

    删除符合条件的记录:delete from 表名 where 条件表达式

    8.清空表

    delete from 表名;:不会影响自增长的字段值

    truncate table 表名:会影响自增长的字段值

    9.查询

    单表查询

    查询单个表的所有字段:select * from member; -------*代表所有字段

    查询单个表的部分字段:select 字段名1,字段名2.....from member;

    查询部分数据:select * from member where 条件表达式;

    多表查询 :表与表存在关系,存在联系

    select *from 表1,表2---------结果为笛卡尔积

    select * from 表1,表2 where 表1.字段名1=表2.字段名2;

    10.as 关键字

    表名 as 别名-------as 可以去掉,以空格代替

    字段名 as 别名-------支持中文

    11.排序---降序:DESC -------升序:ASC(默认是升序)

    order by 字段名

    12.in 用法

    查询id 为1 或者为2,或者3 的用户

    select * from where id=1 or id =2 or id=3;、

    select * from where id in(1,2,3)

    13.not in 不在....里面

    select * from member where id not in(1,2,3)

    14.like 模糊查询

    %:表示可以是任意字符,也可以是空字符串

    完全匹配: select * from member where regname like '小'

    部分匹配:select * from member where regname like '小%'----以小字开头的

    部分匹配:select * from member where regname like '%小'----以小字结尾的

    部分匹配:select * from member where regname like '%小'%----包含小字的

    15.count 用法----纵向统计

    select count(*) from member-----统计有多少行数

    select count(1) from member ---------每行第一个字段都为1 ,并计数

    select conut (memberid)from member

    16.distinct 去重

    单个字段去重-----select distinct(MemberID) from invest--------查询所有投资的id

    多个字段去重------select distinct(A,B ,C) from invest------A,B,C三个字段完全相等时,表示重复

    17.between ....and的用法-----小值在前,大值在后

    查询余额在100,200之间的用户信息

    select * from member where leaveamount between 100 and 300;

    18.group by ---------通过....来分组 avg-----统计平均值函数,max------最大投资额,min----------最小投资额,sum-----总投资额,count-------投资次数

    统计投资用户平均投资金额

    select memberid,avg(amount) from invest group by memberid

    group by 字段1 字段2 字段3--------三个字段完全相同才为一组

    19.mysql 分页----------降低对服务器的压力

    -----一页10条,返回第一页------limit m,n :m表示索引,n 表示多少条记录

    select * from member limit 0,10

    select * from member limit m offset n;------偏移量

    select * from member limit 10;-----top语法,取最前面的10条

    查询出可用余额最多的前10个用户

    select * from member order by leaveamount desc limit 10

    20.子查询

    select * from member where id=(select max(id) from member);

    21.sql常用函数

    获取系统当前日期时间:sysdate()

    获取系统当前日期:curdate()

    获取系统当前时间:curtime()

    获取给定日期的年份:year(date)

    获取给日期的月份:month(date)

    为给定日期增加一个时间间隔的函数:DATE_ADD(date,INTERVAL expr unit)------select DATE_ADD(SYSDATE(),INTERVAL 1 DAY)

    字符串拼接函数:concat(字段1,字段2)

    字符串截取函数:SUBSTR(字段1,截取开始的位置position,截取字符个数)

    字符串的长度:length(字符串)

    非专业人士,仅供学习------迪士尼在逃保洁阿姨
  • 相关阅读:
    django之验证码
    无法显示SQL Server Management Studio Express解决办法
    程序员常用不常见很难得的地址大全转
    调用ip138的页面获取IP地址
    VS 2010无法创建项目提示写入项目文件时出错 没有注册类别
    webapi token、参数签名是如何生成的(转载)
    尝试asp.net mvc 基于controller action 方式权限控制方案可行性(转载)
    委托学习
    Webapi上传数据(XML)敏感字符解决方案
    redis 学习
  • 原文地址:https://www.cnblogs.com/zflz/p/13737032.html
Copyright © 2020-2023  润新知