创建数据库: CREATE DATABASE 数据库名;
判断数据库是否已经存在,不存在则创建数据库 CREATE DATABASE IF NOT EXISTS 数据名;
创建数据库并指定字符集:
CREATE DATABASE 数据库名 CHARACTER SET ;
6.3.1 修改数据库默认的字符集:
ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符集;
删除数据库的语法: DROP DATABASE
查看正在使用的数据库 : SELECT DATABASE(); 使用的一个 mysql 中的全局函数
使用/切换数据库: USE 数据库名;
创建表的格式:
CREATE TABLE 表名 (
字段名 1 字段类型 1,
字段名 2 字段类型 2
);
创建表的关键字 说明
CREATE 创建
TABLE 表
查看某个数据库中的所有表: SHOW TABLES;
查看表结构: DESC 表名;
查看创建表的 SQL 语句: SHOW CREATE TABLE 表名
语法: CREATE TABLE 新表名 LIKE
判断表是否存在,如果存在则删除表 DROP TABLE IF EXISTS 表名
添加表列 ADD : ALTER TABLE 表名 ADD 列名
修改列类型 MODIFY: ALTER TABLE 表名 MODIFY 列名 新的类型
修改列名 CHANGE: ALTER TABLE 表名 CHANGE 旧列名 新列名 类型
删除列 DROP: ALTER TABLE 表名 DROP 列名
修改表名: RENAME TABLE 表名 TO 新表名
修改字符集 character set: ALTER TABLE 表名 character set 字符集
插入记录:
INSERT [INTO] 表名 [ 字段名] VALUES ( 字段值)
INSERT INTO 表名:表示往哪张表中添加数据
( 字段名 1, 字段名 2, …) : 要给哪些字段设置值
VALUES (值 值 1, 值 值 2, …) : 设置具体的值
所有的字段名都写出来:
INSERT INTO 表名 ( 字段名 1, 字段名 2, 字段名 3…) VALUES (值 值 1, 值 值 2, 值 值 3);
不写字段名: INSERT INTO 表名 VALUES (值 值 1, 值 值 2, 值 值 3…);
插入部分数据:
INSERT INTO 表名 ( 字段名 1, 字段名 2, ...) VALUES (值 值 1, 值 值 2, ...);
更新表记录:
UPDATE 表名 SET 列名= 值 [WHERE 条件表达式]
UPDATE: 需要更新的表名
SET: 修改的列值
WHERE: 符合条件的记录才更新
你可以同时更新一个或多个字段。
你可以在 WHERE 子句中指定任何条件。
不带条件修改数据: UPDATE 表名 SET 字段名= 值; -- 修改所有的行
带条件修改数据: UPDATE 表名 SET 字段名= 值 WHERE 字段名= 值;
删除表记录:
DELETE FROM 表名 [WHERE 条件表达式]
如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。
你可以在 WHERE 子句中指定任何条件
不带条件删除数据: DELETE FROM
带条件删除数据: DELETE FROM 表名 WHERE 字段名=值
使用 truncate 删除表中所有记录: TRUNCATE TABLE
SELECT 列名 FROM 表名 [WHERE 条件表达式]:
1) SELECT 命令可以读取一行或者多行记录。
2) 你可以使用星号(* )来代替其他字段,SELECT 语句会返回表的所有字段数据
3) 你可以使用 WHERE
查询指定列
查询指定列的数据,多个列之间以逗号分隔
SELECT 字段名 1, 字段名 2, 字段名 3, ... FROM
对列指定别名: SELECT 字段名 1 AS 别名, 字段名 2 AS 别名... FROM
对列和表同时指定别名: SELECT 字段名 1 AS 别名, 字段名 2 AS 别名... FROM 表名 AS
查询指定列并且结果不出现重复数据: SELECT DISTINCT 字段名 FROM
某列数据和固定值运算: SELECT 列名 1 + 固定值 FROM
某列数据和其他列数据参与运算: SELECT 列名 1 + 列名 2 FROM 表名;
条件查询的语法: SELECT 字段名 FROM 表名 WHERE 条件
比较运算符 说明
> 、< 、<= 、>= 、= 、<> <>在 SQL 中表示不等于,在 mysql 中也可以使用!=
没有==
BETWEEN...AND 在一个范围之内,如:between 100 and 200
相当于条件在 100 到 200 之间,包头又包尾
IN( 集合) 集合表示多个值,使用逗号分隔
LIKE ' 张%' 模糊查询
IS NULL 查询某一列为 NULL 的值,注:不能写=NULL
逻辑运算符 说明
and 或 && 与SQL 中建议使用前者,后者并不通用。
or 或 || 或
not 或 ! 非
in 关键字: SELECT 字段名 FROM 表名 WHERE 字段 in ( 数据 1, 数据 2...);
范围查询 : BETWEEN 值 值 1 AND 值 值 2
like 关键字: LIKE 表示模糊查询
通配符 说明
% 匹配任意多个字符串
_ 匹配一个字符
数据库的三大范式
第 1 范式 原子性,每列不可再拆分
第 2 范式 不产生局部依赖,表中每一列都完全依赖于主键。
第 3 范式 不产生传递,表中每一列都直接依赖于主键
隐式内连接:看不到 JOIN 关键字,条件使用 WHERE 指定
SELECT 字段名 FROM 左表, 右表 WHERE
显示内连接:使用 INNER JOIN ... ON 语句, 可以省略 INNER
SELECT 字段名 FROM 左表 [INNER] JOIN 右表 ON 条件
左外连接:使用 LEFT OUTER JOIN ... ON,OUTER 可以省略
SELECT 字段名 FROM 左表 LEFT [OUTER] JOIN 右表 ON
右外连接:使用 RIGHT OUTER JOIN ... ON,OUTER 可以省略
SELECT 字段名 FROM 左表 RIGHT [OUTER ]JOIN 右表 ON 条件
子查询的概念:
1) 一个查询的结果做为另一个查询的条件
2) 有查询的嵌套,内部的查询称为子查询
3) 子查询要使用括号 :SELECT 查询字段 FROM (子查询) 表别名 WHERE 条件;
JDBC 概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库
JDBC 规范定义 接口 ,具体的实现由各大数据库厂商来实现。
JDBC 是 Java 访问数据库的标准规范,真正怎么操作数据库还需要具体的实现类,也就是数据库驱动。每个
数据库厂商根据自家数据库的通信格式编写好自己数据库的驱动。所以我们只需要会调用 JDBC 接口中的方法即
可,数据库驱动由数据库厂商提供。
DriverManager 类 : 1) 管理和注册数据库驱动
2) 得到数据库连接对象
Connection 接口 一个连接对象,可用于创建 Statement 和 PreparedStatement 对象
Statement 接口 一个 SQL 语句对象,用于将 SQL 语句发送给数据库服务器。
PreparedStatemen 接口 一个 SQL 语句对象,是 Statement 的子接口
ResultSet 接口 用于封装数据库查询的结果集,返回给客户端 Java 程序
|
|