数据库

数据库管理系统:指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,
对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系
统访问数据库中表内的数据。

数据库表

数据库中以表为组织单位存储数据。

常见数据库

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

SQL语句

SQL语句分类

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

SQL通用语法

l SQL语句可以单行或多行书写,以分号结尾
l 可使用空格和缩进来增强语句的可读性
l MySQL数据库的SQL语句不区分大小写,关键字建议使用大写
n 例如:SELECT * FROM user。
l 同样可以使用/**/的方式完成注释
l MySQL中的我们常使用的数据类型如下


详细的数据类型如下(不建议详细阅读!)


DDL之数据库操作:database

创建数据库

create database 数据库名
create database 数据库名 character set 字符集;
例: #创建数据库 数据库中数据的编码采用的是安装数据库时指定的默认编码 utf8 CREATE DATABASE webdb_1; #创建数据库
并指定数据库中数据的编码CREATE DATABASE webdb_2 CHARACTER SET utf8; 查看数据库MySQL服务器中的所有的数据库:
show databases; 查看某个数据库的定义的信息: show create database 数据库名; 删除数据库 drop database
数据库名称; l 查看正在使用的数据库: select database(); 切换数据库: use 数据库名; 查看数据库中所有的表: show
tables; 查看表结构:desc 表名;
DDL之表操作:table
创建表 create table 表名( 字段名 类型(长度) [约束], 字段名 类型(长度) [约束], ... ); primary key
主键,被主键修饰字段中的数据,不能重复、不能为null。 查看表 l 查看数据库中的所有表:show tables; 删除表 drop table 表名;
修改表结构格式: lalter table 表名 add 列名 类型(长度) [约束]; 作用:修改表添加列. l alter table 表名 modify
列名 类型(长度) 约束; 作用:修改表修改列的类型长度及约束. l alter table 表名 change 旧列名 新列名 类型(长度) 约束;
作用:修改表修改列名. lalter table 表名 drop 列名; 作用:修改表删除列. l rename table 表名 to 新表名;
作用:修改表名 lalter table 表名 character set 字符集(了解); 作用:修改表的字符集
DML数据操作语言
插入表记录:insert -- 向表中插入某些字段 insert into 表 (字段1,字段2,字段3..) values (值1,值2,值3..);
-- 向表中插入所有字段,字段的顺序为创建表时的顺序 insert into 表 values (值1,值2,值3..); 注意:
值与字段必须对应,个数相同,类型相同 值的数据大小必须在字段的长度范围内 除了数值类型外,其它的字段类型的值必须使用引号引起。(建议单引号)
如果要插入空值,可以不写字段,或者插入 null。 更新表记录:update 用来修改指定条件的数据,将满足条件的记录指定列修改为指定值
--更新所有记录的指定字段update 表名 set 字段名=值,字段名=值,...; --更新符合条件记录的指定字段 update 表名 set
字段名=值,字段名=值,...where 条件; l 注意: u 列名的类型与修改的值要一致. u 修改值得时候不能超过最大长度. u
除了数值类型外,其它的字段类型的值必须使用引号引起 删除记录:delete delete from 表名 [where 条件]; 或者 truncate
table 表名; 注意: 删除表中所有记录使用delete from 表名; 还是用truncate table 表名; 删除方式:delete
一条一条删除,不清空auto_increment记录数。truncate 直接将表删除,重新建表,auto_increment将置为零,从新开始。
DOS操作数据乱码解决

1)查看MySQL内部设置的编码
show variables like ‘character%’; 查看所有mysql的编码
2)需要修改client、connection、results的编码一致(GBK编码)
解决方案1:在cmd命令窗口中输入命令,此操作当前窗口有效,为临时方案。
set names gbk;
解决方案2:安装目录下修改my.ini文件,重启服务所有地方生效。
default -character -set=“ ” 这里改成要改的码表

SQL约束

主键约束

PRIMARY KEY 约束唯一标识数据库表中的每一条记录。
primary key primary
逐渐必须包含唯一的值。
主键列不能包含null值。
每一个表都应该有一个主键,并且每个表只能有一个主键。
添加主键约束 方式一:创建表时,在字段描述处,声明指定字段为主键 Id_P int PRIMARY KEY,
方式二:创建表时,在constraint约束区域,声明指定字段为主键 n 格式:[constraint 名称] primary key (字段列表) n
字段列表需要使用小括号括住,如果有多字段需要使用逗号分隔。声明两个以上字段为主键,我们称为联合主键。 CONSTRAINT pk_PersonID
PRIMARY KEY (FirstName,LastName) 或 PRIMARY KEY (FirstName,LastName) l
方式三:创建表之后,通过修改表结构,声明指定字段为主键:ALTER TABLE Persons ADD [CONSTRAINT 名称] PRIMARY KEY
(字段列表)alter table persons add primary key ALTER TABLE Persons ADD PRIMARY KEY
(FirstName,LastName) 删除主键约束 如需撤销PRIMARY KEY 约束,请使用下面的 SQL: ALTER TABLE Persons
DROP PRIMARY KEY alter table presons drop primary key 自动增长列 我们可以在表中使用
auto_increment(自动增长列)关键字,自动增长列类型必须是整形,自动增长列必须为键(一般是主键) P_Idint PRIMARY KEY
AUTO_INCREMENT, auto_in cre ment auto_in cre ment l
向persons添加数据时,可以不为P_Id字段设置值,也可以设置成null,数据库将自动维护主键值。 扩展:默认AUTO_INCREMENT 的开始值是 1
,如果希望修改起始值,请使用下列SQL 语法:ALTER TABLE Persons AUTO_INCREMENT=100 alter table
prisons auto_increment 非空约束NOT NULL 约束强制列不接受 NULL 值。 NOT NULL
约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新记录或者更新记录。 Id_Pint NOT NULL, 唯一约束 UNIQUE
约束唯一标识数据库表中的每条记录。unique unique unique UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。
PRIMARY KEY 拥有自动定义的 UNIQUE 约束。 请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY
约束。 添加唯一约束 与主键添加方式相同,共有3种, l 方式1:创建表时,在字段描述处,声明唯一: Id_P int UNIQUE, l 方式2
:创建表时,在约束区域,声明唯一:CONSTRAINT 名称UNIQUE (Id_P) l 方式3:创建表后,修改表结构,声明字段唯一: ALTER TABLE
PersonsADD [CONSTRAINT 名称] UNIQUE (Id_P) alter table persons add unique id
删除唯一约束 l 如需撤销UNIQUE 约束,请使用下面的 SQL: ALTER TABLE Persons DROP INDEX 名称 alter table
persons dorp index l 如果添加唯一约束时,没有设置约束名称,默认是当前字段的字段名。 外键约束FOREIGN KEY 表示外键约束
使用SQL语句要注意:
SQL语句不区分大小写,建议关键字大写,其他小写。
java中的string类型对应数据库中varcahr(长度)
添加或修改时,值的个数必须和列的个数对应。
如果是数字类型可以直接写,其他类型必须要加’‘;
sql语句的结束标识是;
进行删除和修改操作之前,一定要备份。

最后给大家福利:
先是一张思维记忆图


资料的下载链接 <https://pan.baidu.com/s/1wFS4WC_29ql7ziPwkQratA>

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信