MySQL(学习笔记)——MySQL基础

MySQL


为什么学习MySQL

  • MySQL是开源的数据库
  • MySQL跨平台
  • 功能强大且使用方便
  • 目标:快速、健壮、易用

MySQL在CMD命令行下登录

 C:\Users\ChenJia>mysql -h localhost -P 3306 -u root -p
 Enter password: ****
 MySQL默认端口号(Port):3306
 MySQL默认的字符集Latin,创建时指定字符集为utf8

使用数据库步骤

 1.新建一个数据库
 2.使用该数据库
 3.使用数据库操作命令进行增删改查

mysql>create database mysql1;

mysql>use mysql1;

mysql>create table commodity;

...

数据库当中的数据类型

1.数值类型

整数类型字节最小值最大值
TINYINT1有符号 -128
无符号0
有符号 127
无符号 255
SMALLINT2有符号 -32768
无符号 0
有符号 32767
无符号 65535
MEDIUMINT3有符号 -8388608
无符号 0
有符号 8388607
无符号 1677215
INT / INTEGER4有符号 -2147483648
无符号 0
有符号 2147483647
无符号 4294967295
BIGINT8有符号 -9223372036854775808
无符号 0
有符号 9223372036854775807
无符号 18446744073709551615
浮点数类型字节最小值最大值
FLOAT4±1.175494351E–38±1.175494351E+38
DOUBLE8±2.2250738585072014E–308±2.2250738585072014E+308
定点数类型字节描述
DEC(M,D),DECIMAL(M,D)M+2最大取值范围与DOUBLE相同,给定DECIMAL的有效取值范围由M和D决定
位类型字节最小值最大值
BIT(M)1~8BIT(1)BIT(64)

2.日期类型

整数类型字节最小值最大值
DATE41000-01-019999-12-31
DATETIME81000-01-01 00:00:009999-12-31 23:59:59
TIMESTAMP4197001010800012038年的某个时刻
TIME3-838:59:59838:59:59
YEAR119012155

3.常用字符串类型

字符串类型字节描述及存储需求
CHAR(M)MM为0~255之间的数
VARCHAR(M)M为0~65535之间的整数,值的长度+1个字节
TEXT允许长度0~65535字节,值得长度+2个字节
TINYTEXT允许长度0~255字节,值得长度+2个字节
MEDIUMTEXT允许长度0~167772150字节,值得长度+3个字节
LONGTEXT允许长度0~4294967295字节,值得长度+4个字节

MySQL中的约束

 完整性检查就是指检查数据的准确性和完整性;
 mysql数据库管理系统提供了一系列机制来检查数据库表中的数
 据是否满足规定的条件,以保证数据库表中数据的准确性和一致
 性,这种机制就是约束!

MySQL中的六大约束

关键字解释
NOT NULL约束字段的值不能为空
DEFAULT设置字段的默认值
UNIQUE KEY(UK)约束字段的值是唯一
PRIMARY KEY(PK)约束字段为表的主键,可以作为该表记录的唯一标识
AUTO_INCREMENT约束字段的值为自动增长
FOREIGN KEY(FK)约束字段为表的外键

 非空:在我们新增数据的时候 这个字段必须新增的同时有值;
 默认:在你没有给定值得时候 数据库默认的值
 唯一:唯一是指一个字段中所有的值不能重复
 主键:通过主键一定能找到唯一的一条记录(主键包含非空且唯
 一这两种约束)
 自动增长: 主键数字自动往上递增1;可以使用自动增长的约束
(1.自动增长约束必须是主键而且数据类型是int。2.自动增长的
数字不会回退)
 外键约束:子表的取值范围受父表约束(先有父表数据,再有子表数据)。

##使用命令建库建表
 SQL一共分三种:
 • 1.数据定义语言(Data Definition Language,DDL)
数据库管理系统提供了数据定义语言定义数据库涉及各种对象,定义数据
的完整性约束、保密限制等约束。
 • 2.数据操作语言(Data Manipulation Language,DML)
数据库管理系统提供了数据操作语言实现对数据的操作。基本的数据操作
有两类:检索(查询select)和更新(插入insert、删除delete和更新
update)。
 • 3.数据控制语言(Data Control Language,DCL)
数据库管理系统提供了数据控制语言实现对数据库的控制,包含数据完整
性控制、数据安全性控制和数据库的恢复等。

###使用CMD命令行在数据库中建表
 所有mysql命令都需要有命令结束标识符,
一般情况下是分号;
 新建数据表的语法是:

CREATE TABLE t_name(
     属性名 数据类型 [约束],
     属性名 数据类型 [约束],
     ......
     属性名 数据类型 [约束]
);

其它操作数据表的命令:

命令说明
SHOW TABLES;查看数据库
DESC table_name;查看数据表结构
DROP table_name;删除数据表

1.商品种类表-commoditytype

字段名数据类型说明
ct_idint(11)商品种类编号,主键
ct_namevarchar(50)商品种类名称,非空

2.商品表-commodity

字段名数据类型说明
c_idint(11)商品编号,主键
c_namevarchar(50)商品名称,非空
c_madeinvarchar(50)商品产地,非空
c-typeint(11)商品种类,外键
c_inpriceint(11)商品进价,非空
c_outpriceint(11)商品售价
c-numint(11)商品库存,默认100

3.客户表-customer

字段名数据类型说明
cu_idint(11)客户编号,主键
cu_namevarchar(50)客户名字,非空
cu_phonevarchar(50)客户电话,非空
cu_genderint(11)客户性别,默认‘1’
cu_addressvarchar(100)客户地址,非空

4.订单表-order

字段名数据类型说明
o_idint(11)订单编号,主键,自增长
o_cuidint(11)客户编号,非空
o_cidint(11)商品编号,非空
o_numint(11)商品数量

在创建数据表之前,必须指定数据库
mysql> use ishop1;

1.商品种类表

mysql> create table commoditytype(
    -> ct_id int(11) primary key,
    -> ct_name varchar(50) not null
    -> )default charset=utf8;

2.商品表-commodity

mysql> create table commodity(
    -> c_id int(11) primary key,
    -> c_name varchar(50) not null,
    -> c_madein varchar(50) not null,
    -> c_type int(11) not null,
    -> c_inprice int(11) not null,
    -> c_outprice int(11) ,
    -> c_num int(11) default '100',
    -> constraint fk_1 foreign key (c_type) references commoditytype (ct_id)
    -> )default charset=utf8;

3.客户表-customer

mysql> create table customer(
    -> cu_id int(11) primary key,
    -> cu_name varchar(50) not null,
    -> cu_phone varchar(50) not null,
    -> cu_gender int(11) not null default '1',
    -> cu_address varchar(100) not null
    -> )default charset=utf8;

4.订单表-order

mysql> create table `order`(
    -> o_id int(11) primary key auto_increment,
    -> o_cuid int(11) not null,
    -> o_cid int(11) not null,
    -> o_num int(11) not null,
    -> constraint fk_2 foreign key (o_cuid) references customer (cu_id),
    -> constraint fk_3 foreign key (o_cid) references commodity (c_id)
    -> )default charset=utf8;

 反引号 “`” 专门用来修饰字段名或表名
 外键在最后加入

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值