名词解释:数据库服务器、数据库、表、记录、字段、类型、约束、图示
字段:字段名,字段类型(长度),字段约束组成(姓名,文字,不能为空)
DDL:
DDL-库(定义库):create database 库名称;创建数据库 show databases;查看数据库
数据库名要求:不能用关键字当作库名、不能使用纯数字和纯符号。
选择/进入数据库:use 数据库名;进入数据库, select database();调用函数,查看当前使用的数据库
删除数据库:drop database 数据库名;
系统中的位置:/var/lib/mysql数据库的实体存放位置(yum安装),源码安装的实体存放位置在安装时自己指定。
DDL-表:定义数据表
创建1列的表格:
create database database_name; 创库
use database_name; 使用库 select database();查库
create table table_name (id列名 int类型);
show tables;查表
创建2列的表格
create table table_name (id int,name varchar(20));
desc table_name;查看表的描述
select from table_name;查内容
insert into table_name values (1,"zhangs");插入数据内容
创建多列的表格
create table table_name (id int,name varchar(20),sex enum('m','f'),age int);
desc table_name;
insert into table_name values (1,'zhang','m',22);
数据类型:数值类型、字符串类型、时间和日期类型
数值类型
整数类型 int tinyint(范围-128-127)unsinged无符号(0-255)zerofill自动填充0
浮点数类型 float(小数)必须声明长度,超过长度默认五舍六入
decimal精准小数 double双精度
字符串类型(必须加引号,转义):char0-255(会删除末尾空格)、varchar0-65535()会保留末尾空格、enum、set
length(列名)函数,查看长度 concat()函数在原有数据追加内容
binary(二进制形态)、varbinary
枚举类型enum单选、集合类型set多选
数据库引擎(engine):innodb、memory
字符集:utf8、gb2312中国自创
查看表结构:show crerate table table_name\G、desc
时间和日期类型:年year、日期date、实践time、日期和时间datetime
now()函数,显示当前系统日期和时间
timestamp类似于now函数
完整性约束:
约束类型
PK(primary key)标识该字段为该表的主键,唯一约束,唯一的标识记录,不可以为空,不允许null(unique+not null)
默认值default、空值null、unsigned、 auto_increment(自动增长约束)
主键可以跟在列名后,独立列写,如primary key(列名)
复合主键,拿多列做主键,如(primary key (列名,列名,列名)
unique kye UK(索引),值唯一约束不唯一,可以为空
foreign key FK(外键),实现表与表之间的关联。多表联动。一个表不能有外键,必须多表
主键和外键必须同一列
foreign key 表名references 其他表 on update cascade on delete cascade在更新或者删除的时候关联同步