MySQL数据库
MySQL数据库最好的RDBMS(关系型数据库管理系统)应用软件,属于Oracle旗下产品。
特点:
- MySQL是开源的,所以你不需要支付额外的费用。
- MySQL支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
- MySQL使用标准的SQL数据语言形式。
- MySQL可以安装在不同的操作系统,并且提供多种编程语言的操作接口。这些编程语言包括C、 C++、Python、Java、Ruby等等。
数据库服务端
安装MySQL: sudo apt-get install mysql-server
查看mysql服务效果图: ps -aux|grep mysql
- ps 查看当前系统中的进程
- -a 表示所有用户
- -u 表示显示用户名
- -x 表示显示所有的执行程序
查看mysql服务状态:
sudo service mysql status
停止mysql服务:
sudo service mysql stop
启动mysql服务:
sudo service mysql start
重启mysql服务:
sudo service mysql restart
数据库客户端
安装客户端 :
sudo apt-get install mysql-client
mysql客户端使用:
mysql客户端连接mysql服务端命令:
mysql -uroot -p
图形化mysql客户端软件使用Navicat
数据库的类型和约束
1-数据类型
- 整数 :int,bit
- 小数:decimal
- 字符串:varchar,char
- 日期时间:date,time,datetime
- 枚举类型:enum
说明:
- decimal表示浮点数,如 decimal(5, 2) 表示共存5位数,小数占 2 位.
- char表示固定长度的字符串,如char(3),如果填充’ab’时会补一个空格为’ab ',3表示字符数
- varchar表示可变长度的字符串,如varchar(3),填充’ab’时就会存储’ab’,3表示字符数
- 对于图片、音频、视频等文件,不存储在数据库中,而是上传到某个服务器上,然后在表中存储 这个文件的保存路径.
- 字符串 text 表示存储大文本,当字符大于 4000 时推荐使用, 比如技术博客.
2-数据约束
约束是指数据在数据类型限定的基础上额外增加的要求
常见的约束如下:
- 主键 primary key: 物理上存储的顺序. MySQL 建议所有表的主键字段都叫 id, 类型为 int unsigned.
- 非空 not null: 此字段不允许填写空值.
- 惟一 unique: 此字段的值不允许重复.
- 默认 default: 当不填写字段对应的值会使用默认值,如果填写时以填写为准.
- 外键 foreign key: 对关系字段进行约束, 当为关系字段填写值时, 会到关联的表中查询此值是否存在, 如果存在则填写成功,
如果不存在则填写失败并抛出异常.
数据表附录