1. MySQL简介
MySQL是广泛应用的一种关系型数据库
1.1 三范式
第一范式(1NF):列不可拆分
第二范式(2NF):唯一标识
第三范式(3NF):引用主键
后一个范式,都是在前一个范式的基础上建立的
1.2 数据的完整性
一个数据库就是一个完整的业务单元,可以包含多张表,数据被存储在表中
在表中为了更加准确的存储数据,保证数据的正确有效,可以在创建表的时候,为表添加一些强制性的验证,包括数据字段的类型、约束
1.2.1字段类型
数字:int,decimal
int:整数型 4字节 一般不用指定长度
decimal:小数值
decimal(5,2) #整数位最多三位,小数位最多2位
字符串:char,varchar,text
char(10): 10个字符长度,用不完也是10个长度
varchar(10):10个字符长度,用多少是多少长度
char因为是定长,所以查询效率高,但是相对浪费空间
varchar因为是变长,所以节省空间,但是相对查询效率低
日期 datetime,date,time
datetime:年月日时分秒
date:年月日
time:时分秒
布尔:bit(只有0和1)
1.2.2约束
主键 primary key 具有唯一性
非空 not null
唯一 unique
默认 defalt
外键 foreign key
2. 数据库与 表的操作(以下操作均为脚本命令操作)
登录
mysql-uroot -p#登录本地数据库mysql -hip -uname -ppassword#登录远程数据库 要知道对方的ip 用户名和密码
退出
exit#退出系统
2.1数据库操作
创建数据库
createdatabases 数据库名 charset=utf8;#如果安装数据库的时候选择了编码格式,这就不用再写了
删除数据库
dropdatabase数据库名;
切换当前数据库
use数据库名;
查看当前数据库
selectdatabase();
2.2表操作
创建表
createtable名字( 列名 类型 约束, 列名 类型 约束);
修改表
altertable表名add|modify|drop列名 类型;
删除表
droptable表名;
查看表结构
desc 表名;
更改表名称
renametable原表名to新表名;
查看标的创建语句
showcreatetable'表名';
3.数据的增加、修改、删除
增加
增加完整的一条信息
insertinto表名values(每一列的值);
缺省插入
insert into 表名(列1,列2...)values(值1,值2...);
同时插入多条数据
insertinto表名 values(...),(...)...;或insertinto表名(列1,...) values(值1,...),(值1,...)...;
删除
deletefrom表名where条件
修改
update 表名set列1=值1,...where条件
4. 数据的查询
查询表里的所有信息
select*from表名
*的位置可以列名,表示查找这一列,也可以写条件
网友评论