sql
- SQL Structured Query Language 结构化查询语言
- 大部分的关系型数据库,都拥有着基本一致的sql语法
- DDL
- DDL: Data Definition Langiage 数据定义语言
- 操作数据库对象
- 库
- 表
- 视图
- 存储过程
- DML
- Data Manipulation Language 数据操控语言
- 操作数据库中的记录
- DCL
查看文档MySql教程
所有的命令都要在终端的控制台登录MySql 执行
- 创建库 CREATE DATABASE 数据库名;
- 选择库 use lantong;
-
管理表
创建表 CREATE TABLE table_name (column_name column_type);
- 删除表 DROP TABLE table_name ;
demo 创建带字段的表
CREATE TABLE IF NOT EXISTS `runoob_tbl`(`runoob_id` INT UNSIGNED AUTO_INCREMENT,`runoob_title` VARCHAR(100) NOT NULL,`runoob_author` VARCHAR(40) NOT NULL,`submission_date` DATE,PRIMARY KEY ( `runoob_id` ))ENGINE=InnoDB DEFAULT CHARSET=utf8;
修改表
字段
- 字段类型
- bit: 占1位,0或1,false或true
- int: 占32位,整数
- decimal(M,N): 能精确计算实数,M是总的数字位数,N是小数位数
- char(n):固定长度n的字符串
- varchar(n): 长度可变,最大长度位n的字符
- text:大量的字符
- date: 仅日期
- datetime: 日期和时间
- time: 仅时间
主键: 每一条数据的的唯一的标识,代表整条数据的唯一性
- 唯一
- 不能更改
- 无业务含义
外键: 用来产生表关系,本表和其他表的关系
- 一对一
- 一个A对应一个B,一个B对应一个A
- 例如:用户和用户信息
- 把任意一张表的主键同时设置为外键
- 一对多
- 一个A对应多个B,一个B对应一个A,A和B是一对多,B和A是多对一
- 例如:班级和学生,用户和文章
- 在多的一端的表上设置外键,对应另一张表的主键
- 多对一
- 列不可以分割: 要求数据库表的每一列都是不可分割的原子数据项
- 非主键列必须依赖主键列
- 非主键列必须直接依赖主键列
