- 数据库模型的分类:层次型,网状型,关系型
- mysql基本命令:mysql,mysqladmin,mysqldump
- mysql命令:作为客户端的工具对服务发送连接请求,一个基于命令行的客户端工具。
mysql [-h ip] -u 帐号 -p密码
例如:mysql -h 192.168.1.100 -u root -ptiger - mysql程序的内部命令
show databases:显示当前服务中所有数据库列表;
use 数据库名: 进入到某个数据库 ,例如 use test
show tables:显示当前数据中的所有数据表的信息;
\c:放弃 \s:显示数据库状态
\h:显示 mysql程序的命令
\q: 退出 - mysqladmin命令
作用:数据库的管理工作
mysqladmin -u root -ptiger create db1;
mysqladmin -u root -ptiger password “123456” - mysqldump命令
作用:备份数据库
示例: mysqldump -u root -ptiger test>d:/back.sql - 数据库的基础知识
库:database
表: table
记录:recored - sql语言(structure query languge)结构化查询语言;
作用:对数据库中的数据做CRUD的操作(增删改查)以及其它的管理工作,通俗的说,sql就是开发者与关系型数据进行交互的一种语言。 - sql语言的分类
DDL(Data Definition Language):数据定义语言
DML(Data Manipulation Language):数据操作语言(负责对数据库对象运行数据访问工作的指令集)
DCL:数据控制语言
TCL:事务控制语言 - DDL; 用来操作数据库对象的语言
create 语句
创建表的语法;
create table table_name(
列名1 数据类型 [约束],
列名2 数据类型 [约束],
。。。
)
示例
“`
create table student(
stuno int primary key,
sname varchar(20) not null,
sex varchar(5),
birth date
)
“`
- mysql中的数据类型
数字:int,float,double,decimal
字符:单引号表示,char,varchar;
char与varchar的区别?
char是固定的字符,varchar是可变的字符;
char(5) “a ”
varchar(5); “a”
日期:date;time,datetime,year,timestamp;
大对象:
存储大量数据时可以使用;
blob:用来存储二进制, 可存图片,视频等
text:用来存储大文本;大量的文本; - char与varchar的区别(5.5)
char 是定长的,而varchar是变长的;
关于char与varchar的最大长度,不同版本之间有区别,5.0 全都 是255,而5.5,varchar的长度变成了65535字节;
每条记录的字节总和不能超过65535,但不包括大对象类型的数据(text,blob)
如果字符串以空格结尾,char会自动去除,varchar会保留存储 - 约束
约束指的就是限制;约束的种类有
primary key :主键 ,主键字符为必填,同时不能重复;每个表只有一个主键(主键可以为 复合主键),主键的列通常用来唯一的标识表中的每条记录;
not null :非空,不能为空;
unique: 唯一,可以为空,不能重复;
check : mysql不支持;oracle支持,自定义规则;
foregin key:外键,外键的取值必须来源于与之关联的主键值;
default 默认值 ,什么都不添的时侯的默认值 ;
auto_incrment :自动增长,只能用于整数类型 - drop 语句
drop table 表名;
作用:删除整个表; - truncat 截断;
truncate table 表名;
作用:清空表中的所有记录,但保留表; - alter 语句:修改表结构
修改表的语法是;
alter table 表名 action; action之前的部分是固定的,action是变化的;
示例 ;
1.增加一个新列
alter table book add price int not null;
2.修改列的类型
alter table book modify name varchar(50);
3.增加一个主键约束
alter table book add primary key(isbn);
4.增加一个外键约束
alter table 子表的数据表名 add foreign key(子表的外键名称) references 父表的数据表名称(父表的主键名称);