数据库学习大纲
1.SQL编程语言的语法【核心】
2.数据库内部原理【面试题】
3.使用java代码操纵数据库【JDBC编程】
SQL是一个专门用来操作数据库数据的编程语言
MySQL服务器里面里有很多个数据库,这些是逻辑上的数据集合 : 一个数据库服务器上,可以管理多组数据集合,就把每个数据集合,称为一个“数据库”
数据库服务器 =》包含了很多数据库 =》包含了很多数据表 =》包含了很多记录(行)=》包含了很多字段(列)
客户端通过网络来和数据库服务器进行交互
对库进行操作
(1)显示当前所有数据库:show databases;
注意:
1)是data不是date,databases是复数,不能少了s结尾
2)SQL不区分大小写
(2)创建数据库:create database 库名;
创建一个存放学生信息的数据库
在创建数据库的时候最好不要用数据库的关键字来作为库名,或者表明,比如说最好不要用'create'来作为名字,否则会报错,但是不得已非要使用create咋办?
那么就使用 `` 反引号(~这个按键)把create引起来就可以了
在创建数据库的时候还有一种写法
create databese if not exists 库名;
这种写法的好处就是,如果你用常规的方式来创建,如果库本身就存在了,那么程序就会报错,这样就会导致整个过程停止
如果使用(if not exists) 写法,如果库不存在就创建,如果库存在,那么就啥事也没有
(3)选中数据库:use 库名;
当我们想在数据库里面对表进行操作的时候,必须要先选中数据库才能对表进行操作
我们在选中数据库的时候可以不用加分号,但是建议加上,可以不加分号的语句只是少数的,大部分都是要加上分号,没必要省这分号
(4)删除数据库:drop database 库名;
删库操作属于危险操作,因为数据库一旦删除了,数据大概率是找不回来了,这对公司来说是很严重的事情,假如在公司因为大意不小心把公司重要数据库删除了,你大概率是可以准备找下一家公司了
对表进行操作之前,还要了解数据库的常用数据类型
(数据库)tinyint : byte(java)
(数据库)smallint :short(java)
(数据库)int : Integer(java)
(数据库)bigint : Long(java)
(数据库)float(M,D)
(数据库)double(M,D)这两个是单精度/双精度浮点型,M代表有效数字的长度,D代表小数点后面的位数
float和double都是遵循IEEE754标准的浮点数,这个标准的浮点数存在误差,误差会随着算术运算而被放大,所以我们在SQL中表示小数,用decimal(M,D)来表示
(数据库)decimal(M,D)
用decimal表示有优点也有缺点
优点:数字精确了
缺点:计算效率下降,存储空间变高了
SQL常用字符串类型:varchar(SIZE)
可变长字符串,(SIZE)表示最大长度,意思就是字符串最多可以包含多少个字符(不是字节)
表示时间的数据类型:datetime
总结常用SQL数据类型
1)int
2)bigint
3)double
4)decimal
5)varchar
6)datetime
了解了SQL的数据类型后,就可以来对库中的表进行操作了
(1)创建表:create table 表名(列名 类型, 列名 类型……);
SQL中定义变量一般都是变量名在前,数据类型在后
我们来定义一张学生表,表里有学生id,学生姓名,学生性别
注意事项:
1)创建表需要保证同一个数据库里面没有同名的表
2)创建表时,需要保证表明不和关键字重复
3)非要重复,用``反引号引起来
(2)查看当前数据库里面,表的内容(数据库里有哪些表):show tables;
(3)查看指定表结构:desc 表名;(desc == describe)
看看这个表我们在创建的时候是怎么定义的
(4)删除表:drop table 表名;
删除表同样也是一个危险操作,甚至比删库更严重,删除库后,系统会立马报错,然后及时抢救,
如果不小心删除了表,系统是不会报错的,只能在后续的使用的过程中,逐渐暴露出来,这相当于埋下了一颗不定时炸弹!!!
总结:
数据库操作
(1) 创建数据库 create database 库名;
(2)查看所有数据库 show databases;
(3)选中数据库 use 库名;
(4)删除数据库 drop database 库名;
。
表操作
(1)创建表 create table 表名(列名 类型,列名 类型……);
(2)查看当前数据库中的所有表 show tables;
(3)查看当前表结构 desc 表名;
(4)删除表 drop table 表名;