数据库相关

数据库字段设为NULL,NOT NULL

1.NULL 比 NOT NULL 多使用一个字节来判断是否为NULL的标志位
2.注意区别 NULL 和空字符串
if(result!=null&&result!="")
3.NULL 会导致程序设计有很多条件判断
4.NOT NULL 避免 NullPointerException
5.count(*)会计算值为NULL的行,count(列名)不会
6.使用not in的结果集中不能有NULL
7.MySQL默认数据库字段为NULL,建议建表时改为NOT NULL

SQL中有关DQL、DML、DDL、DCL的概念与区别

SQL结构化查询语言包含6个部分

1.数据查询语言(DQL: Data Query Language

数据检索语句,用于从表中获取数据。通常最常用的为保留字SELECT,并且常与FROM子句、WHERE子句组成查询SQL查询语句。

语法:

SELECT <字段名> FROM <表或视图名> WHERE <查询条件>;

2.数据操纵语言(DML:Data Manipulation Language)

主要用来对数据库的数据进行一些操作,常用的就是INSERT、UPDATE、DELETE。

语法:

INSERT INTO <表名>(列1,列2,...) VALUES (值1,值2,...);

UPDATE <表名> SET <列名>=新值 WHERE <列名>=某值;

DELETE FROM <表名> WHERE <列名>=某值;

3.事务处理语言(DPL)

事务处理语句能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGIN TRANSACTION、COMMIT和ROLLBACK。

4.数据控制语言(DCL)

通过GRANT和REVOKE,确定单个用户或用户组对数据库对象的访问权限。

5.数据定义语言(DDL)

常用的有CREATE和DROP,用于在数据库中创建新表或删除表,以及为表加入索引等。

6.指针控制语言(CCL)

它的语句,想DECLARE CURSOR、FETCH INTO和UPDATE WHERE CURRENT用于对一个或多个表单独行的操作。

JDBC

Statement:用于对数据库进行通用访问,在运行时使用静态SQL语句时很有用。 Statement接口不能接受参数

PreparedStatement:当计划要多次使用SQL语句时使用。PreparedStatement接口在运行时接受输入参数。可以使用输入和输出流来提供参数数据。能够将整个文件放入可以容纳大值的数据库列,例如CLOB和BLOB数据类型。

CallableStatement:当想要访问数据库存储过程时使用。CallableStatement接口也可以接受运行时输入参数。

DriverManager:驱动管理器

ResultSet:结果集

SQL连接方式

内连接 inner join
外连接 left join,right join
交叉连接 CROSS JOIN
全连接 full join
区别和解析

MySQL避免重复插入数据
insert ignore into actor
values(3,'ED','CHASE','2006-02-15 12:34:33');
从已经存在的表导入数据
create table if not exists actor_name(
    first_name  varchar(45)  not null,
    last_name   varchar(45)  not null
); -- 创建表

insert into actor_name
select     
    first_name,last_name
from actor; -- 插入查询结果
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容