JAVA及数据库中的关键字(常用)

JAVA中的关键字

public/private/protected/class

public      权限修饰符,不同包下,也可以使用

private     被private修饰的成员,只能在本类中进行访问,其他类是访问不了。

protected   权限修饰符 不同包下,只有子类可以使用

class       修饰类名

static

static
	*static关键字是静态的意思,可以修饰【成员方法】,【成员变量】
	*static修饰的特点	
		1.被类的所有  "对象"  共享
		这也是我们判断是否使用静态关键字的条件
		2.可以通过类名调用
		当然,也可以通过对象名调用  //推荐使用类名调用
	*几个问题
		1.为什么用static修饰的称为静态?
		因为它存在于内存中静态区
	
		2.为什么推荐使用类名调用?
		类名能调用:  //推荐使用     原因是创建对象需要耗费内存资源
			Student.university = "666";
		对象名调用:
			Student student = new Student();
			student.university="666";

		3.为什么static修饰成员变量会被所有的对象共享?
		因为静态的成员变量不是存在于每一个对象中,而是存在于内存的静态区,所有的对象都指向它,也就共享了它
		
	*static的访问特点
		1.非静态(后人)的成员方法
		能访问静态的成员变量
		能访问非静态的成员变量
		能访问静态的成员方法
		能访问非静态的成员方法

		2.静态(先人)的成员方法
		能访问静态的成员变量
		能访问静态的成员方法
		
		3.静态中有没有this
		没有

	*总结:静态成员方法只能访问静态成员
		静态是先出来的------------先人
		非静态后出来的------------后人
		静态只能访问静态   //先人只能使用先人的东西
		非静态既可以访问静态、也可以访问非静态  //后人既可以使用先人的东西,也可以使用后人的东西

continue

continue
    继续(结束本次循环,进入下次循环)
    使用场景:只能在循环内使用。
	在使用的时候,也是在循环内使用。需要满足某个条件
	当满足之后会结束本次循环,进入下次循环

break

break
	中断
	使用场景:循环内  
	--> 在循环内执行到break之后,整个循环就结束了。
	一般我们会在循环内,使用条件判断,当满足某个条件的时候,才执行break

final/finally

final
	在继承中,父类有一个方法只想让子类去调用,但是不想让子类去重写,引出了final关键字
	最终的意思,可以修饰变量、方法、类
	特点
	*变量:表明该变量是一个常量
		常量:只能被赋值一次(默认初始化不算)
	*方法:表明该方法不能被重写
	*类:表明该类不能被继承
  final修饰局部变量
	*fianl修饰基本数据类型变量
		final 修饰指的是基本类型的  "数据值"  不能发生改变
	*final修饰引用数据类型变量	
		final 修饰指的是引用类型的  "地址值"   不能发生改变,但是地址里面的内容是可以发生改变的
			举例:
				Demo3 demo3 = new Demo3();
				final int[] ints = {1,2,3};
				ints[0]=100;
				
				int[] ints1 = new int[10];
				ints=ints1;  //报错,因为ints的地址值不能改变
finally
		最终必然会执行

return/false/true

		*将对象或数返回作为返回值
		*结束方法
false
		*boolean 的一种种类
true
		*boolean 的一种种类

this

this 
	用来区分:成员变量和局部变量。
    通过this进行访问的都是成员。
	this代表有本类产生的对象,谁来访问我,我就代表谁。
	 (1)请问this使用的位置在哪?
			方法中   (☆☆☆☆☆)
			举例:
				 public void setName(String name) {
					this.name = name;
				 }
		
	 (2)this可以调用哪些东西?
				*可以调用成员变量
					局部变量行不行?
						this.不能访问局部变量
				*可以调用成员方法
					 public void show(){
							System.out.println("show");
							this.method();
							System.out.println(this);
						}
				*可以调用构造方法
					 public Student() {
							this(1);
						}
				
	 (3)this指的到底是什么?
				调用this所在方法的对象   (☆☆☆☆☆)
				
			举例:	
				Student student = new Student();
				student.show();    //student调用了包含this的show方法,所以this指的就是student对象
				System.out.println(student);
	 (4)作用
			调用成员变量的时候:是为了解决局部变量和成员变量同名的问题
			调用成员方法:就是单纯的给出一个当前对象

super

super  
	代表父类存储空间的标识(可以理解为父类对象引用)   //本质上并不是父类对象的引用
	super    每一个人对象都有一个自己的父类空间标识
				成员变量 :  super.成员变量名
					super.age;
					
				成员方法:   super.成员方法名();
					 super.method();
				
				构造方法: super(参数)
					 super(1);
				
			注意:super使用的前提:有继承关系    因为你使用super是去访问父类的信息,你必须先有一个父类

import/extends/implements

import      导包

extends     继承

implements  实现 (实现类必须重写所有方法)

interface/abstract/数据类型

interface  定义一个接口

abstract   修饰抽象类和抽象方法

数据类型 byte short int long char float double boolean		

数据库关键字

DDL

 DDL  用来定义数据库对象:数据库,表,列(字段)等。
	关键字:create,drop,alter ........

Create

			* 创建数据库:
				* create database 数据库名称;
			* 创建数据库,判断不存在,再创建:
				* create database if not exists 数据库名称;
			* 创建数据库,并指定字符集
				* create database 数据库名称 character set 字符集名utf8;
			* 练习: 创建db4数据库,判断是否存在,并制定字符集为gbk
				* create database if not exists db4 character set gbk;
			*创建指定字段的表格
				*create table 表名(
					列名1 数据类型1,
					列名2 数据类型2,
					....
					列名n 数据类型n //注意:最后一列,不需要加逗号
				);
			* 复制表:
				* create table 表名 like 被复制的表名; 	

alter

			*修改数据库的字符集
				*alter database 数据库名称 character set 字符集名称;	
			*修改表名
				*alter table 表名 rename to 新的表名;
			*修改表的字符集
				*alter table 表名 character set 字符集名称;
			*添加一列
				*alter table 表名 add 列名 数据类型;
			*修改列名称 类型
				*alter table 表名 change 列名 新列别 新数据类型;
				*alter table 表名 modify 列名 新数据类型;
			*删除列
				*alter table 表名 drop 列名;

drop

			*删除数据库
				* drop database 数据库名称;
			*判断数据库存在,存在再删除
				* drop database if exists 数据库名称;
			*删除表	
				* drop table 表名;
			*判断表是否存在,存在再删除	
				* drop table  if exists 表名 ;

select

			* 查询当前正在使用的数据库名称
				* select database();

show

			*查询所有数据库的名称
				*show database
			*查询表
				*show tables
			*查询某个数据库的字符集:查询某个数据库的创建语句		
				*show create database 数据库名称;

use

			* 使用数据库
				* use 数据库名称;	

desc

			* 查询表结构
				* desc 表名;			

DML

DML 用来对数据库中表的数据进行增删改
关键字:insert, delete, update 等

insert

			*给表中添加数据
				* insert into 表名(列名1,列名2,...列名n) values(值1,值2,...值n);
				* insert into 表名 values(值1,值2,...值n);
				* insert into student(id,name,age) values(1, '金毛狮王', 38), (2, '紫衫龙王', 36);//批量添加

delete

			*满足某些条件的情况下,删除相关数据
				* delete from 表名 [where 条件]//不加where条件的话,将会删除整张表的数据

truncate

			*先删除表,再创建一张一模一样的空表
				*truncate table 表名;

update

			*修改满足条件的数据
				* update 表名 set 列名1 = 值1, 列名2 = 值2,... [where 条件];// 如果不加任何条件,则会将表中所有记录全部修改。			

DQL

DQL  用来查询数据库中表的记录(数据)。
	关键字:select, where 等

select

			*从表中查询所有的数据
				* select * from 表名;()
				//语法:select 字段列表 from 表名列表 where 条件列表 group by 分组字段
				//having 分组之后的条件 order by 排序 limit 分页限定
				注意: group by 的后面不可以出现where,可以用having
			* 多个字段的查询
				*select 字段名1,字段名2... from 表名;	

distinct

			* 去除重复:
				* select distinct * from 表名 ; //注意: 它是根据查询结果集中所有字段都相同才会去重

as

			* 起别名:
				* as:as也可以省略   注意: 空格可以代替as
	
聚合函数

count 计算个数/max/min/sum/avg

	      count(1)包括了忽略所有列,用1代表代码行,在统计结果的时候,不会忽略列值为NULL  
		  count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULL 
		  count(字段名))只包括列名那一列,在统计结果的时候,会忽略列值为空
				(这里的空不是指空字符串或者0,而是表示null)的计数,即某个字段值为NULL时,不统计。
				执行效率上:
				 列名为主键,count(列名)会比count(1)快 
				列名不为主键,count(1)会比count(列名)快 
				 如果表多个列并且没有主键,则 count(1) 的执行效率优于 count(*) 
				 如果有主键,则 select count(主键)的执行效率是最优的 
				 如果表只有一个字段,则 select count(*)最优。
	max  最大值
	min  最小值
	sum  求和
	avg  平均数

其他

like  模糊查询
in    在条件内

AND
or
not
null 空
!    非
===  全等于
is
if

ASC  升序
DESC 降序

between...and  在...之间,是包含临界值的    

limit
		*分页查询
		   *limit 开始的索引,每页查询的条数
		   开始的索引 = (当前页码-1)*每页显示的条数
		
group by  分组字段

having 分组之后的条件

order by 排序
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值