金沙国际官网_金沙国际平台登录

因为这个金沙国际官网_金沙国际平台登录网站与很多的大型澳门赌场都有合作,金沙国际官网_金沙国际平台登录尽职尽责,高效执行,保持好奇心,不断学习,追求卓越,点击进入金沙国际官网_金沙国际平台登录马上体验吧,所以现在也正式地开始了营业。

您的位置:金沙国际官网 > 数据库 > SQL数据库基础

SQL数据库基础

发布时间:2019-11-06 23:11编辑:数据库浏览(139)

    1、表字段的操作
    1、语法 :alter table 表名 执行动作;
    2、添加字段(add)
    alter table 表名 add 字段名 数据类型;
    alter table 表名 add 字段名 数据类型 first;
    alter table 表名 add 字段名 数据类型 after 字段名;
    3、删除字段(drop)
    alter table 表名 drop 字段名;
    4、修改数据类型(modify)
    alter table 表名 modify 字段名 新数据类型;
    5、表重命名(rename)
    alter table 表名 rename 新表名;
    6、练习
    1、创建库 studb2
    2、在库中创建表 t1 ,字段有3个:name、age、phnumber
    use studb2;
    create table t1(
    name char(20),
    age tinyint unsigned,
    phnumber char(11)
    );
    3、查看表结构
    desc t1;
    4、在表中第一列添加一个 id 字段
    alter table t1 add id int first;
    5、把 phnumber 的数据类型改为 bigint
    alter table t1 modify phnumber bigint;
    6、在表中最后一列添加一个字段 address
    alter table t1 add address varchar(50);
    7、删除表中的 age 字段
    alter table t1 drop age;
    8、查看表结构
    desc t1;
    2、数据类型
    1、数值类型
    2、字符类型
    1、字符类型宽度和数值类型宽度的区别
    1、数值类型宽度为显示宽度,只用于select查询显示,和占用存储无关,可用zerofill查看效果
    2、字符类型的宽度超过之后则无法存储
    3、枚举类型
    1、单选(enum) :字段名 enum(值1,值2,...)
    2、多选(set) :字段名 set(值1,值2,...)
    ## 插入记录时: "F,study,Python"
    create table t5(
    id int(3) zerofill,
    name varchar(15),
    sex enum("M","F","Secret"),
    likes set("F","M","study","Python")
    );
    insert into t5(likes) values("F,study,Python");
    4、日期时间类型
    1、date :"YYYY-MM-DD"
    2、time :"HH:MM:SS"
    3、datetime :"YYYY-MM-DD HH:MM:SS"
    4、timestamp :"YYYY-MM-DD HH:MM:SS"
    5、注意
    1、datetime :不给值默认返回NULL值
    2、timestamp :不给值默认返回系统当前时间
    create table t7(
    id int,
    name varchar(15),
    birthday date,
    money int,
    shijian datetime
    );
    insert into t7 values(2,"王",date(now()),10000,now());
    3、日期时间函数
    1、now() 返回服务器当前时间
    2、curdate() 返回当前日期
    3、curtime() 返回当前时间
    4、year(date) 返回指定时间的年份
    5、date(date) 返回指定时间的日期
    6、time(date) 返回指定时间的时间
    7、练习
    1、在表中插入3条记录
    insert into t7 values
    (3,"小昭",19000520,3000,20180630000000),
    (4,"赵敏",19000521,4000,20180702000000),
    (5,"周芷若",19010522,3500,20180702100000);
    2、查找2018年7月2日有哪些用户充值了
    select * from t7 where date(shijian)="2018-07-02";

    1、mysql几个重要的文件

    字符串函数:

    3、查找2018年7月份充值的信息
    select * from t7
    where
    date(shijian)>="2018-07-01" and date(shijian)<="2018-07-31";

    • 每个数据库新建后,会产生数据库文件夹,在该文件夹下每张表均对应以下三个文件:

     图片 1

    4、查找7月30日10:00-12:00充值的信息
    select * from t7
    where
    date(shijian)="2018-07-31" and
    time(shijian)>="10:00:00" and
    time(shijian)<="12:00:00";
    4、日期时间运算
    1、语法格式
    select * from 表名
    where 字段名 运算符 (时间-interval 时间间隔单位);
    时间间隔单位:
    1 day | 2 hour | 1 minute | 2 year | 3 month
    2、练习
    1、查询1天以内的记录
    select * from t7
    where shijian > (now()-interval 1 day);
    age > 20
    2、查询1年以前的记录
    select * from t7
    where shijian < (now()-interval 1 year);
    3、查询1天以前,3天以内的记录
    select * from t7
    where
    shijian < (now()-interval 1 day) and
    shijian > (now()-interval 3 day);
    5、表记录管理
    1、删除表记录
    1、delete from 表名 where 条件;
    2、注意
    delete语句后如果不加where条件,所有记录全部清空
    2、更新表记录
    1、update 表名 set 字段1=值1,字段2=值2,... where 条件;
    2、注意
    必须加where条件
    3、练习(表hero)
    1、查找所有蜀国人的信息
    select * from hero where country="蜀国";
    2、查找所有女英雄的姓名、性别和国家
    select name,sex,country from hero
    where sex="女";
    3、把id为2的记录改为典韦,性别男,国家魏国
    update hero set name="典韦",sex="男",country="魏国" where id=2;
    4、删除所有蜀国英雄
    delete from hero where country="蜀国";
    5、把貂蝉的国籍改为魏国
    update hero set country="魏国"
    where name="貂蝉";
    6、删除所有表记录
    delete from hero;
    4、运算符操作
    1、数值比较/字符比较
    1、数值比较 := != > >= < <=
    2、字符比较 := !=
    3、练习
    1、查找攻击力高于150的英雄的名字和攻击值
    select name,gongji from sanguo where gongji>150;
    2、将赵云的攻击力设置为360,防御力设置为68
    update sanguo set gongji=360,fangyu=68
    where name="赵云";
    2、逻辑比较
    1、and (两个或多个条件同时成立)
    2、or (任意一个条件成立即可)
    3、练习
    1、找出攻击值高于200的蜀国英雄的名字、攻击力
    select name as n,gongji as g from sanguo
    where gongji>200 and country="蜀国";
    2、将吴国英雄中攻击值为110的英雄的攻击值改为100,防御力改为60
    update sanguo set gongji=100,fangyu=60
    where country="吴国" and gongji=110;
    3、查找蜀国和魏国的英雄信息
    select * from sanguo
    where country="蜀国" or country="魏国";
    3、范围内比较
    1、between 值1 and 值2
    2、where 字段名 in(值1,值2,...)
    3、where 字段名 not in(值1,值2,...)
    4、练习
    1、查找攻击值100-200的蜀国英雄信息
    select * from sanguo
    where gongji between 100 and 200 and
    country="蜀国";
    2、找到蜀国和吴国以外的国家的女英雄信息
    select * from sanguo
    where country not in("蜀国","吴国")
    and sex="女";
    3、找到id为1、3或5的蜀国英雄 和 貂蝉的信息
    select * from sanguo
    where
    (id in(1,3,5) and country="蜀国") or name="貂蝉";
    4、匹配空、非空
    1、空 :where name is null
    2、非空:where name is not null
    3、示例
    1、姓名为NULL值的蜀国女英雄信息
    select * from sanguo
    where
    name is null and country="蜀国" and sex="女";
    2、姓名为 "" 的英雄信息
    select * from sanguo where name="";
    4、注意
    1、NULL :空值,只能用 is 或者 is not 去匹配
    2、"" :空字符串,用 = 或者 != 去匹配
    5、模糊比较
    1、where 字段名 like 表达式
    2、表达式
    1、_ : 匹配单个字符
    2、% : 匹配0到多个字符
    3、示例
    select name from sanguo where name like "_%_";
    select name from sanguo where name like "%";
    ## NULL不会被统计,只能用is、is not去匹配
    select name from sanguo where name like "___";
    select name from sanguo where name like "赵%";
    5、SQL查询
    1、总结
    3、select ...聚合函数 from 表名
    1、where ...
    2、group by ...
    4、having ...
    5、order by ...
    6、limit ...;
    2、order by
    1、给查询结果进行排序
    2、... order by 字段名 ASC/DESC
    3、升序:ASC(默认)
    降序:DESC
    4、示例
    1、将英雄按防御值从高到低排序

    xx.frm    存放表结构

    图片 2

    2、将蜀国英雄按攻击值从高到低排序

    xx.MYD    存放表数据

    图片 3

    3、将魏蜀两国英雄中名字为三个字的按防御值升序排列
    select * from sanguo
    where
    country in("蜀国","魏国") and name like "___"
    order by fangyu ASC;

    xx.MYI   存放表索引

     

    select * from sanguo
    where
    (country="魏国" or country="蜀国") and name like "___"
    order by fangyu;
    3、limit (永远放在SQL语句的最后写)
    1、作用 :限制显示查询记录的个数
    2、用法
    1、limit n -> 显示 n 条记录
    2、limit m,n
    m 表示 从第m+1条记录开始显示,显示 n 条
    limit 2,3 : 第 3、4、5 三条记录
    3、示例
    1、在蜀国英雄中,查找防御值倒数第二名至倒数第四名的英雄的记录
    select * from sanguo
    where country="蜀国"
    order by fangyu asc
    limit 1,3;
    2、在蜀国英雄中,查找攻击值前3名且名字不为 NULL 的英雄的姓名、攻击值和国家
    select name,gongji,country from sanguo
    where
    country="蜀国" and name is not NULL
    order by gongji DESC
    limit 3;
    4、分页
    每页显示5条记录,显示第4页的内容

    • mysq非常重要的配置文件     

    时间日期函数:

    本文由金沙国际官网发布于数据库,转载请注明出处:SQL数据库基础

    关键词:

上一篇:不可不知的Metadata,触发器详解

下一篇:没有了