java学习之路——第四十一天

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;

 

猜你喜欢

转载自blog.csdn.net/mataodehtml/article/details/85113728