美文网首页
笔记9-数据使用命令

笔记9-数据使用命令

作者: Q二斤Q | 来源:发表于2019-06-05 01:24 被阅读0次

    数据库的概念:存储数据的容器

    表的概念:真正的存储单元

    数据库与表的关系:一对多的关系,一个库里通常维护了多个表。

    Sql概念:

    Sql:结构化查询语言,用户访问和处理数据库的标准计算机语言

    作用:创建数据库、表等数据库对象;数据库记录的增删改查

    创建数据库

    Create database数据库名,例如:create database test;

    创建表

    Create table表明(字段名1 类型1,...字段名n 类型n) default charset-utf8;

    常见字段类型:

    整型:

    Tinyint:占1个字节,取值范围为-128~127

    Int:占4个字节,-2147483648~2147483647

    字符串型:

    Char(n):n个字符,最多255个字符,固定长度

    Varchar(n):可变长度,最多65535个字符

    时间和日期:

    Date:日期,格式(yyyy-mm-dd)

    Time:时间,格式(hh:mm:ss)

    Datetime:日期时间,格式(yyyy-mm-dd hh:mm:ss)

    浮点型:

    Float(m,d):单精度浮点型,32bit,m代表总位数,d小数位

    Double(m,d):双精度浮点型,64bit,m代表总位数,d代表小数位

    Decimal(m,d):m代表总位数,d代表小数位,decimal数据类型用于精度要求非常高的计算中

    主键:

    主键字段存储的值不能重复,因此主键课唯一标识一行数据

    一个表只能有一个主键

    主键是非必需的

    语法:

    字段名类型primary key;

    主键:primary key

    自动增长:auto_increment

    非空:not null

    备注:comment

    插入数据

    Insert into表名 values(值A,值B,...值F);

    列如:

    Insert into member values(1,`123456`,3);

    插入一条数据,且只对一部分字段赋值

    Insert into表名 (字段A,字段B,字段C) values (值A,值B,值C);

    例如:

    Insert into member(regname,pwd,tpye) values (`annia`,`123456`,1);

    注释快键键:Ctrl+/

    取消注释快键键:shift+Ctrl+/

    修改表数据

    Update表名 set 字段名1=新值1,字段名2=新值2...;

    例如:

    Update member set name=’张三’;

    修改一个表里满足某些条件的那一部分数据:

    Update表名 set 字段名1=新值1...where 条件表达式1 and(or)条件表达式2

    例如:

    Update member set name=’张三’ where id =16;

    删除数据库

    Drop database数据库名;

    例如:

    Drop database lemo60;

    删除数据表

    Drop table表名;

    例如:

    Drop table member;

    删除表里的所有数据

    Delete from表名;

    例如:

    Delete from member;

    删除一个表里满足条件的数据

    delete from表名 where 条件1 and(or)条件2...;

    例如:

    Delete from member where id=16;

    多表查询

    Select要查询的字段 from 表1,表2...where 关联条件和过滤条件

    对查询结果进行排序:

    Select ... from ... order by字段A asc(desc);

    Select ... from ... order by字段A asc(desc),字段B asc(desc)...;

    Asc:升序

    Desc:降序

    掌握in的用法:

    Select ... from表名 where 条件字段 in (数据集)

    Eg:select * from member where id in(1001,1002,1003);

    Not in:条件字段的值不存在于某个数据集

    Eg:

    Select * from member where id not in(1002,1003);查询id不为1002,1003的用户

    查询以任意字符开头,以k结尾 的值

    Select字段1,字段2...from 表名 where 条件字段 like ‘%xx’;

    Select * from member where regname like’%k’;

    查询以n开头,以任意字符结尾的值

    Select字段1,字段2...from 表名 where 条件字段 like ‘xx%’;

    Select * from member where regname like ‘n%’;

    查询包含k的值

    Select字段1,字段2...from 表名 where 条件字段 like ‘%xx%’;

    Select * from member where regname like ‘%k%’;

    分组

    Select查询字段,聚合函数 from 查询涉及到的表 group by 分组字段 having 过滤条件;

    常见聚合函数:

    Sum(),count(),avg(),min(),max()

    Eg:

    Select loanid,count() from invest group by loanid;

    Between:条件字段的取值处于2个数据范围内的情况

    Select ... from表名 where 条件字段 between 数值A and 数值B;

    Eg:

    Select * from member leaveamount between 100000 and 400000;

    去重

    Select distinct memberid from member;

    分页:

    Select ... from表名 limit m,n;

    M:指索引值从m开始,n表示每页要取多少条

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

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

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

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

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

    为指定日期增加一个时间间隔的函数:date_add(date,interval expr unit

    Select date_add (curdate(),interval 1 day);

    字符串函数:

    拼接函数:concat(字段A,字段B)

    Select concat(id,regname,pwd) from member;

    截取函数:substr(字段A,截取开始的位置,截取字符个数)

    Select substr(regname,3,2) from member;

    获取字符串长度的函数:length(字段A)

    Select length(regname) from member;

    子查询

    可以把一条sql语句的结果作为一张新表的数据

    Select * from(

    Select * from member where id<5

    )as newtable;

    相关文章

      网友评论

          本文标题:笔记9-数据使用命令

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