当前位置 博文首页 > mataodehtml的博客:java学习之路——第四十一天
数据库中常见的数据类型:
???????? 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