MySQL学习笔记1
MySQL
- 一、数据存储过程
- 二、数据类型
- 三、创建和修改表
一、数据存储过程
在MySQL中,一个完整的数据存储过程总共有4步,分别是创建数据库、确认字段、创建数据表、插入数据。
MySQL数据表由行与列组成,一行就是一条数据记录, 每一条数据记录都被分成许多列,一列就叫一个字段。每个字段都需要定义数据类型,这个数据类型叫做字段类型。
主键能减少数据的唯一性,减少数据错误。一个数据表中只能有一个主键。主键的特性:
- 唯一,不重复
- 不可为空
- 必须可以唯一标识数据表中的数据
MySQL以分号来识别一条SQL语句结束,所以,写的每一条SQL语句的最后,都必须有一个分号,否则,MySQL会认为这条语句没有完成,提示语法错误。
--创建数据库
CREATE DATABASE demo;
--删除数据库
DROP DATABASE demo;
--查看数据库
SHOW DATABASES;--创建数据表
CREATE TABLE demo.test
(
name text,
photo text,
age int --最后一个字段后面不加逗号
);--查看表结构
DESCRIBE demo.test;
--选择数据库
USE demo;
--查看所有表
SHOW TABLES;
--添加主键
ALTER TABLE demo.test
ADD COLUMN id int PRIMARY KEY AUTO_INCREMENT;
--向表中添加数据
INSERT INTO demo.test
(barcode,goodsname,price)
VALUES('001','本',3)
二、数据类型
浮点数和定点数的特点:
- 浮点类(Float,Double)型取值范围大,但是不精准,适用于需要取值范围大,又可以容忍微小误差的科学计算场景(比如计算化学、分子建模、流体动力学等) ;
- 定点数(Decimal)类型取值范围相对小,但是精准,没有误差,适合于对精度要求极高的场景(比如涉及金额计算的场景)。
Decimal(5,2):总共占5位,小数部分占两位
文本类型:
- CHAR(M):固定长度字符串
- VARCHSR(M):可变长度字符串
- TEXT:字符串,由于长度不确定,所以不允许TEXT类型做主键。
- ENUM:枚举类型
- SET
日期与时间类型:
- 常用DATETIME
相关SQL语句:
--修改字段类型:
ALTER TABLE demo.goodsmaster
MODIFY COLUMN price DOUBLE;
--计算字段和函数:
SELECT SUM(price)
FROM demo.goodsmaster;
三、创建和修改表
在创建表的时候,字段名称要避开MySQL的系统关键字。原因是MySQL系统保留的关键字都有特定的含义,如果作为字段名称出现在SQL语句中,MySQL会把这个字段名称理解为系统关键字,从而导致SQL语句无法正常运行。
约束
默认约束,主键约束、外键约束、非空约束、唯一性约束、自增约束等
常用创建表的SQL语句:
CREATE TABLE
(
字段名 字段类型 PRIMARY KEY
);
CREATE TABLE
(
字段名 字段类型 NOT NULL
);
CREATE TABLE
(
字段名 字段类型 UNIQUE
);
CREATE TABLE
(
字段名 字段类型 DEFAULT 值
);
--自增的条件:自增的字段必须是整数类型
CREATE TABLE
(
字段名 字段类型 AUTO_INCREMENT
);
--在一个已经存在的表基础上,创建一个结构相同的新表
CREATE TABLE demo.testhist LIKE demo.test;
--修改表的相关语句
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 数据类型;
ALTER TABLE 表名 ADD COLUMN 字段名 字段类型 FIRST|AFTER 字段名;
ALTER TABLE 表名 MODIFY字段名 字段类型 FIRST|AFTER 字段名;