JavaSE基础知识篇系列(7-50)——SQL语句笔记

数据库的概念:

数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作。

常见的数据库管理系统

  1. MYSQL :开源免费的数据库,小型的数据库.已经被Oracle收购了.MySQL6.x版本也开始收费。
  2. Oracle :收费的大型数据库,Oracle公司的产品。Oracle收购SUN公司,收购MYSQL。
  3. DB2 :IBM公司的数据库产品,收费的。常应用在银行系统中.
  4. SQLServer:MicroSoft 公司收费的中型的数据库。C#、.net等语言常使用。
  5. SyBase :已经淡出历史舞台。提供了一个非常专业数据建模的工具PowerDesigner。
    6.SQLite : 嵌入式的小型数据库,应用在手机端。
    Java相关的数据库:MYSQL,Oracle.

SQL语句分类

  1. 数据定义语言:简称DDL(Data Definition Language),用来定义数据库对象:数据库,表,列等。关键字:create,alter,drop等
  2. 数据操作语言:简称DML(Data Manipulation Language),用来对数据库中表的记录进行更新。关键字:insert,delete,update等
  3. 数据控制语言:简称DCL(Data Control Language),用来定义数据库的访问权限和安全级别,及创建用户。
  4. 数据查询语言:简称DQL(Data Query Language),用来查询数据库中表的记录。关键字:select,from,where等

常用的数据库操作

创建数据库
CREATE DATABASE 数据库名;
CREATE DATABASE 数据库名 CHARACTER SET utf8;
查看数据库
SHOW DATABASES;
SHOW DATABASE 数据库名;
删除数据库
DROP DATABASE 数据库名;
切换数据库
USE 数据库名;
查看正在使用的数据库
SELECT DATABASE();

常用的表结构相关语句

创建表
CREATE TABLE sort (
  	sid INT PRIMARY KEY AUTO_INCREMENT, #分类ID 
  	sname VARCHAR(100) #分类名称
);
查看表
SHOW TABLES;
查看表结构
DESC 表名;
删除表
DROP TABLE 表名;

修改表结构格式

修改表添加列
ALTER TABLE sort ADD sdesc VARCHAR(20);
修改表修改列的类型长度及约束
ALTER TABLE sort MODIFY sname VARCHAR(50) NOT NULL;
修改表修改列名
ALTER TABLE sort CHANGE sname snewname VARCHAR(30);
修改表删除列
ALTER TABLE sort DROP snewname;
修改表名
RENAME TABLE sort TO category;
修改表的字符集
ALTER TABLE category CHARACTER SET gbk;

数据表的重点要掌握的SQL语句

添加:

INSERT INTO 表 (列名1,列名2,列名3..) VALUES  (值1,值2,值3..); -- 向表中插入某些列
INSERT INTO 表 VALUES (值1,值2,值3..); -- 向表中插入所有列

修改:

  • 用来修改指定条件的数据,将满足条件的记录指定列修改为指定值
UPDATE 表名 SET 字段名=值,字段名=值;
UPDATE 表名 SET 字段名=值,字段名=值 WHERE 条件;

删除:

DELETE FROM 表名 [WHERE 条件];
或者
TRUNCATE TABLE 表名;

查询:

SELECT 字段1,字段2,...FROM 表名;-- 查询指定字段信息
SELECT * FROM 表名; -- 查询表中所有字段
SELECT DISTINCT 字段 FROM 表名;-- distinct用于去除重复记录

条件查询语句:

比较运算符 > < <= >= = <> 大于、小于、大于(小于)等于、不等于
BETWEEN …AND… 显示在某一区间的值(含头含尾)
IN(set) 显示在in列表中的值,例:in(100,200)
LIKE 通配符 模糊查询,Like语句中有两个通配符 (1) % 用来匹配多个字符;例first_name like ‘a%’;(2) _ 用来匹配一个字符。例first_name like ‘a_’;
IS NULL 判断是否为空(1)is null; 判断为空(2)is not null; 判断不为空
逻辑运算符 and 多个条件同时成立
or 多个条件任一成立
not 不成立,例:where not(salary>100);

查询案例:

-- 查询所有吃饭支出记录
SELECT * FROM zhangwu WHERE NAME = '吃饭支出';

-- 查询出金额大于1000的信息
SELECT * FROM zhangwu WHERE money >1000;

-- 查询出金额在2000-5000之间的账务信息
SELECT * FROM zhangwu WHERE money >=2000 AND money <=5000;
或
SELECT * FROM zhangwu WHERE money BETWEEN 2000 AND 5000;

-- 查询出金额是1000或5000或3500的商品信息
SELECT * FROM zhangwu WHERE money =1000 OR money =5000 OR money =3500;
或
SELECT * FROM zhangwu WHERE money IN(1000,5000,3500);

-- 查询出账务名称包含”支出”的账务信息。
SELECT * FROM zhangwu WHERE NAME LIKE "%支出%";

-- 查询出账务名称中是无五个字的账务信息
SELECT * FROM gjp_ledger WHERE ldesc LIKE "_____"; -- 五个下划线_

-- 查询出账务名称不为null账务信息
SELECT * FROM zhangwu WHERE NAME IS NOT NULL;
SELECT * FROM zhangwu WHERE NOT (NAME IS NULL);

猜你喜欢

转载自blog.csdn.net/jiangyi_1612101_03/article/details/84781795