mysql的DDL
什么是数据库
数据库(Database,简称DB)
概念:
长期存放在计算机内,有组织、可共享的大量数据的集合,是一个数据“仓库”
作业:保存、管理数据
关系型数据库(SQL)
MySQL、Oracle、SQLServer、SQLite、DB2
非关系型数据库(NOSQL)
Redis、MongoDB、
什么是DBMS
数据库管理系统(Database Management System)
数据管理软件,科学组织和存储数据、高效地获取和维护数据
mysql简介
概念:
是现流行的开源,免费的关系型数据库
特点:
①免费,开源数据库
②小巧,功能齐全
③使用便携
④可运行于Windows或Linux操作系统
⑤可适用于中小型甚至大型网站应用
SQLyog管理工具
可手动操作,管理MySQL数据库的软件工具
特点:①易用②简洁③图形化
MySQL运行机制
结构化查询语句SQL
命令行操作数据库(SQLyog工具)
①创建数据库:
create database [IF NOT EXISTS]数据库名
②删除数据库:
drop database [IF EXISTS]数据库名
③查看数据库:
show databases;
④使用数据库:use数据库名
创建数据表
语法
CREATE TABLE [IF NOT EXISTS] `表名`
(
`字段1` 列表型 [属性] [索引] [注释],
`字段2` 列表型 [属性] [索引] [注释],
......
`字段n` 列表型 [属性] [索引] [注释],
)[表类型] [表字符集] [注释];
注意:反引号用于区别MySQL保留字与普通字符而引入的
数据值和列类型
列类型
规矩数据库中该存放的数据类型分为(数据类型,字符串类型,日期和时间型数值类型,null值)
数值类型
字符串类型
日期和时间型值类型
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hgWgfkbz-1623676404954)(E:\JT45zmh\mysql总结\Markdown\mysql的DDL图片\6.png)]
null值
①理解味“没有值”或“未知值”
②不要用null进行算术运算,结果仍味null
选择数据类型
①整数和浮点
②日期类型
③char和varchar
数据字段属性
UNSIGNED
①无符号的
②声明该数据列不允许复数
ZEROFILL
①0填充的
②不足位数的用0来填充,如int(3),5则为005
AUTO_INCREMENT
①自动增长的,每添加一条数据,自动在上一个记录数上加1
②通常用于设置主键,且为整数类型
③可定义起始值和步长
null和not null
①默认为null,即没有插入该列的数值
②如果设置为not null,则该列必须有值
DEFAULT
①默认的
②用于设置默认值(例如,性别字段,默认为“男”,否则为“女”;若无指定该列的值,则默认为“男”的值)
数据字段注释
在字段名后面添加注释,例如:id
int(11) insigned comment ‘编码号’;
或者键表括号后面加,例如:create table test
(…)***comment*** =‘测试表’;
数据表的类型
CREATE TABLE 表名(
#省略一些代码
)ENGINE = MyISAM;
或者
CREATE TABLE 表名(
#省略一些代码
)ENGINE = InnoDB;
MySQL的数据表的类型
MyISAM、InnoDB、HEAP、BOB、csv等
常见的MyISAM与InnoDB类型
设置数据表字符集
可为数据库、数据表、数据列设定不同的字符集
设定方法
①创建时通过命令来设置,如
creat table 表名(
#省略一些代码
)CHARSET=utf8;
②如无设定,则根据MySQL数据库配置文件my.ini
windows系统中的参数设定
如:character-set-sever=utf8
数据表的存储位置
MySQL数据表以文件方式存放在磁盘中
①包括表文件、数据文件以及数据库的选项文件
②位置:mysql安装目录\data下存放数据表。目录名对应数据库名,该目录下文件名对应数据表
修改数据表
修改表 ALTER TABLE
修改表名
ALTER TABLE 旧表名 RENAME AS 新表名;
添加字段
AKTER TABLE 表名 ADD 字段名 列类型【属性】;
修改字段
AKTER TABLE 表名 MODIFY 字段名 列类型【属性】;
AKTER TABLE 表名 CHANGE 旧字段名 新字段名 列类型【属性】;
删除字段
AKTER TABLE 表名 DROP 字段名;
删除数据表
DROP TABLE [IF EXISTS] 表名;
①IF EXISTS为可选,判断是否存在该数据表
②如删除不存在的数据表会抛出错误