当前位置 博文首页 > mataodehtml的博客:java学习之路——第四十一天

    mataodehtml的博客:java学习之路——第四十一天

    作者:[db:作者] 时间:2021-08-11 09:46

    MySQL03

    数据库中常见的数据类型:

    ???????? int:整数类型,默认长度为11

    ???????? double: 浮点类型,书写方法为(5,2)表示有5位数组成,其中小数位后面保留两位数,最大值为999.99

    ???????? decimal: 书写方法为(5,2)表示有5位数组成,其中小数位后面保留两位数,定义跟金钱有关的变量。

    ???????? char: 固定长度的字符串类型

    ???????? varchar: 变长的字符串类型

    ?

    char 和 varchar 之间的区别:

    ???????? char声明字段开辟的存储空间用不完不会释放(查询效率高),而varchar声明的字段存储空间用不完会释放出去(查询效率低)

    ?

    text : 字符串类型

    date: 日期类型? 格式:yyyy-MM-dd

    time:时间类型? 格式:hh:mm:ss

    ?

    DML:数据操作语言

    ???????? 插入语句:

    第一种:

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

    备注:值的顺序必须和表中声明字段的一致,且所有字段都要有

    第二种:

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

    ???????? 备注:字段要与值对应,未写入的值以null代替

    ?

    ???????? 修改语句:

    ?????????????????? 语法:update 表名 set 字段名=新的字段名;

    ???????? 备注:上面这种写法会将表中所有的记录中的字段名的值都修改为新的值,为了避免这种情况,往往在后面加上相应的条件,用关键字where表示。

    ?

    删除语句:

    ???????? 第一种:

    ?????????????????? delete from 表名 where 条件

    ???????? 第二种:

    ?????????????????? truncate table 表名

    区别:第二种删除方式为先将表删除,然后再创建表

    ?

    DCL:数据控制语言

    创建用户:create user 用户名@localhost identified by ‘密码’;

    给用户授权:grant 权限1………on 数据库.*(表名) to 用户名@localhost:

    撤销授权:revoke 权限1……..on 数据库名.* from 用户名

    查看用户授权:show grants for 用户名

    删除用户:drop user 用户名

    修改用户密码:

    ???????? use mysql;

    ???????? update user set password=password(‘新密码’) where user=’用户名’ and host=’地址’

    ???????? flush privileges

    ?

    DQL: 数据查询语言

    ?

    #基础查询操作

    -- 查询stu中的所有列

    SELECT * FROM stu;

    -- 查询指定列

    SELECT sname,sid FROM stu;

    ?

    #条件查询 where

    -- 根据一定条件查询出结果,常常和一些运算符和关键字一起使用

    -- 运算符:> < = <> != >= <=

    -- 关键字:between and 前包括后也包括

    --? is null? not?? and?? or??? in

    ?

    -- 查询性别为女,并且年龄大于50的记录

    SELECT * FROM stu WHERE gender='female' AND age>50;

    ?

    -- 查询学号为s_1001,或者姓名为lisi的记录

    SELECT * FROM stu WHERE sid='s_1001' OR sname='lisi';

    ?

    -- 查询学号为s_1001,s_1002,s_1003的记录

    SELECT * FROM stu WHERE sid IN ('s_1001','s_1002','s_1003');

    SELECT * FROM stu WHERE sid='s_1001' OR sid='s_1002' OR sid='s_1003';

    ?

    -- 查询学号不是s_1001,s_1002,s_1003的记录

    SELECT * FROM stu WHERE sid NOT IN ('s_1001','s_1002','s_1003');

    ?

    -- 查询年龄为null的记录

    SELECT * FROM stu WHERE age IS NULL;

    ?

    -- 查询年龄在20到40之间的学生记录

    SELECT * FROM stu WHERE age BETWEEN 20 AND 40;

    SELECT * FROM stu WHERE age>=20 AND age<=40;

    ?

    -- 查询性别非男的学生记录

    SELECT * FROM stu WHERE NOT gender='male';

    ?

    -- 查询姓名不为null的学生记录

    SELECT * FROM stu WHERE sname IS NOT NULL;

    ?

    cs