初见数据库
day01_chengcy
为什么要学习MySQL
- MySQL是开源的数据库
- MySQL是跨平台的
- MySQL是免费的
- MySQL功能强大且实用
MySQL的环境变量配置
1.在环境变量中的系统变量找到Path
2.找到MySQL的下的bin文件夹的绝对路径
3.添加到Path环境变量中
MySQL在CMD命令行下的登录
c:\Windows\system> mysql -h localhost -P 3306 -u root -p
Enter password ?***
-h为服务器IP地址,本机可以写为localhost或者127.0.0.1,-P(大写)为端口号,
默认为3306,-u为用户名,-p为密码。为了不明文显示先敲回车
详解可见MySQL登录命令详解
##****
整数类型 | 字节 | 最小值 | 最大值 |
---|---|---|---|
TINYINT | 1 | 有符号 -128 无符号 0 | 有符号 127 无符号 255 |
SMALLINT | 2 | 有符号 -32768 无符号 0 | 有符号 32767 无符号 65535 |
MEDIUMINT | 3 | 有符号 -8388608 无符号 0 | 有符号 8388607 无符号 1677215 |
INT / INTEGER | 4 | 有符号 -2147483648 无符号 0 | 有符号 2147483647 无符号 4294967295 |
BIGINT | 8 | 有符号 -9223372036854775808 无符号 0 | 有符号 9223372036854775807 无符号 18446744073709551615 |
浮点数类型 | 字节 | 最小值 | 最大值 |
---|---|---|---|
FLOAT | 4 | ±1.175494351E–38 | ±1.175494351E+38 |
DOUBLE | 8 | ±2.2250738585072014E–308 | ±2.2250738585072014E+308 |
定点数类型 | 字节 | 最小值 |
---|---|---|
DEC(M,D),DECIMAL(M,D) | M+2 | 最大取值范围与DOUBLE相同,给定DECIMAL的有效取值范围由M和D决定 |
位类型 | 字节 | 最小值 | 最大值 |
---|---|---|---|
BIT(M) | 1~8 | BIT(1) | BIT(64) |
字符串类型 | 字节 | 描述及存储需求 |
---|---|---|
CHAR(M) | M | M为0~255之间的数 |
VARCHAR(M) | M为0~65535之间的整数,值的长度+1个字节 | |
TEXT | 允许长度0~65535字节,值得长度+2个字节 | |
TINYTEXT | 允许长度0~255字节,值得长度+2个字节 | |
MEDIUMTEXT | 允许长度0~167772150字节,值得长度+3个字节 | |
LONGTEXT | 允许长度0~4294967295字节,值得长度+4个字节 |
日期类型 | 字节 | 最小值 | 最大值 |
---|---|---|---|
DATE | 4 | 1000-01-01 | 9999-12-31 |
DATETIME | 8 | 1000-01-01 00:00:00 | 9999-12-31 23:59:59 |
TIMESTAMP | 4 | 19700101080001 | 2038年的某个时刻 |
TIME | 3 | -838:59:59 | 838:59:59 |
YEAR | 1 | 1901 | 2155 |
Mysql中的约束
数据库的完整性,是指数据库的准确性和一致性
完整性检查就是指检查数据的准确性和完整性
mysql数据库管理系统提供了一系列机制来检查数据库表中的数据是否满足规定的条件,以保证数据库表中数据的准确性和一致性,这种机制就是约束
关键字 | 解释 |
---|---|
NOT NULL | 约束字段的值不能为空 |
DEFAULT | 设置字段默认值 |
UNIQUE KEY(UK) | 约束字段的值是唯一 |
PRIMARY KEY(PK) | 约束字段为表的主键,可以作为该表记录的唯一标识 |
AUTO_INCREMENT | 约束字段的值为自动增长 |
FOREIGN KEY(FK) | 约束字段为表的外键 |
SQL一共分三种:
• 1.数据定义语言(Data Definition Language,DDL)
数据库管理系统提供了数据定义语言定义数据库涉及各种对象,定义数据
的完整性约束、保密限制等约束。
• 2.数据操作语言(Data Manipulation Language,DML)
数据库管理系统提供了数据操作语言实现对数据的操作。基本的数据操作
有两类:检索(查询select)和更新(插入insert、删除delete和更新
update)。
• 3.数据控制语言(Data Control Language,DCL)
数据库管理系统提供了数据控制语言实现对数据库的控制,包含数据完整
性控制、数据安全性控制和数据库的恢复等。
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;