使用cmd Markdown写笔记

标签:数据库

#使用cmd Markdown写笔记


世界上有三大数据库,分别是:

  • MySQL
  • Oracle
  • SQLSever

从今天开始,我将学习MySQL。


初始MySQL

MySQL是一种关系型数据库,和Oracle数据库都隶属于Oracle公司。比起Oracle数据库,它的优点是体积更小,花费更少,缺点是没有相对而言的强大的功能。因此,它被中国的公司广泛使用,而Oracle逐渐没落。

为什么学习MySQL

  1. everyone都可以获取数据库的源代码,everyone可以修正MySQL的缺陷。
  2. MySQL跨平台不仅可在windows系统中运行,也可在Linux、UNIX和Mac OS系统中运行。
  3. 可以从MySQL官网直接下载免费使用。
  4. MySQL是一个真正的多用户、多线程SQL数据库服务器。Mysqld和客户程序组成,可快速,有效和安全的处理大量数据,使用非常简单。

##数据库当中的数据类型

数值类型

整数类型字节最小值最大值
int4有符号 -2147483648
无符号 0
有符号2147483647
无符号 4294967295
bingint8有符号-9223372036854775808
无符号 0
有符号 9223372036854775807
无符号 18446744073709551615

还有tinyint,smallint,mediumint三种整类型,但现在基本没有适用的场景。

| 浮点数类型 | 字节 | 最小值 | 最大值 |
| -------- - | -----: | :----: |:----: |
| float| 4 | ±1.175494351E–38 | ±1.175494351E+38
| double | 8 | ±2.2250738585072014E–308 | ±2.2250738585072014E+308

日期类型

日期类型字节最小值最大值
data41000-01-019999-12-31
datetime81000-01-01 00:00:009999-12-31 23:59:59
timestamp4197001010800012038年的某个时刻
time3-838:59:59838:59:59
year119012155

常用字符串类型

字符串类型字节描述及存储需求
char(m)mm为0~255之间的数
varchar(m)mM为0~65535之间的整数,值的长度+1个字节

还有text、tinytext、mediumtext、longtext四种字符串类型,用于存储大量的文本数据,但是基本用不上。现在的大量文本数据存储在数据仓库里。

MySQL的约束

约束存在的意义

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

MySQL中的六大约束

关键字解释
not null约束字段的值不能为空
default设置字段的默认值
unique key约束字段的值唯一
primary key约束字段为表的主键,可以作为该表记录的唯一标识
auto_increment约束字段的值为自动增长
foreign key约束字段为表的外键

MySQL基础语法

在命令行输入:

mysql -h localhost -P 3306 -u root -p
Enter password:****

显示现有的databases

show datebases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sakila             |
| sys                |
| world              |

分号表示命令结束的标识符

mysql> show
    -> databases
    ->
    ->
    ->
    -> ;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sakila             |
| sys                |
| world              |

井号用来注释

mysql> #分号表示命令结束标识符
mysql>

创建一个datebase

mysql> create database ishop1;
Query OK, 1 row affected (0.00 sec)

在创建数据库的时候指定数据库的字符集为utf8

mysql> create database if not exists ishop1 default charset=utf8;
Query OK, 1 row affected (0.00 sec)

在创建数据表之前,必须指定s数据库

mysql> use ishop1;
Database changed
mysql> show tables;
Empty set (0.00 sec)

创建一个数据表

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)
    -> )defalut charset=utf8;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值