概念:长期存放在计算机内,有组织、可共享的大量数据的集合,是一个数据“仓库”
作用:用于保存、管理数据
分类:
1、关系型数据库(SQL)
MySQL、Oracle、SQL Server、SQLite、DB2
2、非关系型数据库(NOSQL)
Redis、MongoDB
概念:数据管理软件,科学组织和存储数据、高效地获取和维护数据
概念:是现流行的开源、免费的关系型数据库
特点:
1、免费、开源数据库
2、小巧、功能齐全
3、使用便捷
4、可运行于Windows或Linux操作系统
5、可适用于中小型甚至大型网站应用
连接数据库语句:
mysql -h 服务器主机地址 –u 用户名 -p用户密码
结构化查询语句分类:
命令行操作数据库:
查看数据库:show databases;
创建数据库:create database 库名;
删除数据库:drop database 库名;
切换到某个数据库:use 库名;
创建数据表:
CREATE TABLE [ IF NOT EXISTS ] `表名` (
`字段名1` 列类型 [ 属性 ] [ 索引 ] [注释] ,
`字段名2` 列类型 [ 属性 ] [ 索引 ] [注释] ,
… …
`字段名n` 列类型 [ 属性 ] [ 索引 ] [注释]
) [ 表类型 ] [ 表字符集 ] [注释] ;
如:
CREATE TABLE IF NOT EXISTS `grade`(
`GradeID` INT(4) PRIMARY KEY,
`GradeName` VARCHAR(60)
);
对表的操作:
查看表结构:
desc subject
显示建表语句:
show create table 表名;
删除表:
drop table if exists 表名;
创建表:
create table if not exists 表名;
建外键的两种方式:
1、在表里建外键:
constraint 外键名 foreign key (表1的字段) references 表2(表2的字段);
2、表已经存在的情况下加外键:
alter table 表1 add constraint 外键名 foreign key (表1的字段) references 表2 (表2的字段)
字符类型
字符串类型
日期和时间型数值类型
NULL值
字符类:
字符串型
日期、时间型
null值:
理解为“没有值”或“未知值”
不要用NULL进行算术运算,结果仍为NULL
数据字段属性:
UNSIGNED
无符号的
声明该数据列不允许负数
ZEROFILL
0填充的
不足位数的用0来填充,如 int(3),5则为 005
AUTO_INCREMENT
自动增长的,每添加一条数据,自动在上一个记录数上加1
通常用于设置主键,且为整数类型
可定义起始值和步长
NULL 和 NOT NULL
默认为NULL,即没有插入该列的数值
如果设置为NOT NULL,则该列必须有值
DEFAULT
默认的
用于设置默认值
对表的内容的操作:
修改表名:
alter table 旧表名 rename as 新表名
添加字段:
alter table 表名 add 字段名 列类型 [ 属性 ]
修改字段:
alter table 表名 modify 字段名 列类型 [ 属性 ]
alter table 表名 change 旧字段名 新字段名 列类型 [ 属性 ]
删除字段:
alter table 表名 drop 字段名