1、数据库


数据库是一个文件系统,通过标准的SQL语句获取数据


MySQL是一个关系型数据库管理系统。其体积小、速度快、总体拥有成本低、开放 源码。


关系型数据库存放的是实体之间的关系。常见的关系型数据库有:


MySQL   Oracle    SQLserver  DB2  SyBase


服务器:硬件要求:计算机;  软件要求:需要在计算机上安装数据库服务器。



2、SQL


结构化查询语言:Structured Query Language ,是一种数据库查询和程序设计语言 ,用于存取数据以及查询、更新和管理      关系数据库系统。


SQL的分类:


a、DDL:数据定义语言 


create,drop,alter..


b、DCL:数据控制语言


grant,if...


c、DML:数据操纵语言


insert,update,delete..


d、DQL:数据查询语言


select



3、SQL对数据库进行操作


a、创建数据库


create datebase 数据库名称  [character set 字符集 collate 字符集校对规则];


例:


create database db1;


create datebase db2 character set utf8 collate utf8_bin;


b、查看数据库


查看数据库服务器中所有的数据库:


show databases;


查看某个数据库的定义信息:


show create database 数据库名称;


例:show create database db1;


c、修改数据库


alter database 数据库名称 character set 字符集 collate 校对规则;


例:alter database db1 character set utf8;


d、删除数据库


drop database 数据库名称;


例:drop database db1;


e、切换数据库


use 数据库名称;


例:use db2;


查看当前正在使用的数据库:


select database();



4、SQL对数据库表进行操作


a、SQL创建表


create table 表名称(


字段名称  字段类型(长度)  约束 ,


字段名称  字段类型(长度)  约束 ,


..


字段名称  字段类型(长度)  约束


);


*字段类型:


Java中的类型   ---------------------------  MySQL中的类型


byte、short、int、long                     tinyint、smallint、int、bigint


float                                                   float


double                                               double


boolean                                              bit


char、String                                       char、varchar


date                                                    date/time/datetime/timestamp


File                                                     BLOB/TEXT


*char和varchar的区别


char代表是固定长度的字符或字符串


   char(10)   若字符未达到10位,会用空格补全


varchar代表的是可变长度的字符串


    varchar(10) 若存入的字符串长度未达到10,其长度会自动调整


*datetime 和timestamp 区别


datetime 既有日期又有时间的日期类型,如果没有向这个字段中存值, 数据库使用null存入到数据库中。


timestamp 也是既有日期又有时间的日期类型,如果没有向这个字段中存 值,数据库使用当前的系统时间存入到数                    据库中。


*约束


约束作用:保证数据的完整性


单表约束分类:


主键约束:primary key 其默认包括约束 唯一 非空


唯一约束:unique


非空约束:not null


例:


create table user(


    id int primary key auto_increment,


    username varchar(20) unique,


    password varchar(20) not null,


    age int,


    birthday date


);


b、SQL查看表


查看某个数据库下的所有表


show tables;


查看某个表的结构信息(字段名,类型,约束条件等等)


desc 表名;


例:desc user;


c、SQL删除表


drop table  表名;


例: drop table user;


d、SQL修改表


(1)修改表:添加列


alter table 表名 add 列名 类型(长度) 约束;


例:alter table user add image varcahr(100);


(2)修改表:修改列类型,长度和约束


alter table 表名 modify 列名 类型(长度) 约束;


例:alter table user modify image varchar(150);


(3)修改表:删除列


alter table 表名 drop 列名;


例:alter table user drop age;


(4)修改表:修改列名称


alter table 表名 change 旧列名 新列名 类型(长度) 约束;


例:alter table user change image picture varchar(150);


(5)修改表:修改表名


rename table 表名 to 新的表名;


例:rename table user to employee;


(6)修改表:修改表的字符集


alter table 表名 character set 字符集;


例:alter table employee character set gbk;