作者:Chancel, 更新:2019 Jan 10, 字数:3609, 已阅:648
数据库的知识很复杂,以至于有专门的DBA来负责数据库的运维,但大多数的中小型公司都不会有专门处理数据库的DBA,一般都是开发人员负责维护。
对数据库的掌握也是开发人员的基础技能,此篇简单的总结一下现下最流程的Mariadb常用的必备基础,本篇纯实际开发导向,不涉及理论,相关理论会在后面总结,如无深入必要则只需要了解实际操作即可。
MySQL(官方发音为/maɪ ˌɛskjuːˈɛl/“My S-Q-L”[5],但也经常读作/maɪ ˈsiːkwəl/“My Sequel”)原本是一个开放源代码的关系数据库管理系统,原开发者为瑞典的MySQL AB公司,该公司于2008年被昇阳微系统(Sun Microsystems)收购。2009年,甲骨文公司(Oracle)收购昇阳微系统公司,MySQL成为Oracle旗下产品。MySQL在过去由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,因此被广泛地应用在Internet上的中小型网站中。随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用,比如维基百科、Google和Facebook等网站。非常流行的开源软件组合LAMP中的“M”指的就是MySQL。 但被甲骨文公司收购后,Oracle大幅调涨MySQL商业版的售价,且甲骨文公司不再支持另一个自由软件项目OpenSolaris的发展,因此导致自由软件社群们对于Oracle是否还会持续支持MySQL社群版(MySQL之中唯一的免费版本)有所隐忧,MySQL的创始人麦克尔·维德纽斯以MySQL为基础,成立分支计划MariaDB。而原先一些使用MySQL的开源软件逐渐转向MariaDB或其它的数据库。例如维基百科已于2013年正式宣布将从MySQL迁移到MariaDB数据库[6]。
简单讲,现在Mysql已经被Oracle公司所收购,自由软件社区担心Oracle会更改Mysql社区版的支持,故以MySQL为基础创建了MariaDB。
请自行搜索相关安装教程,这里仅仅给出最简单的安装教程例子
- Windows安装例子:https://www.cnblogs.com/baimt/p/5688517.html
- Linux安装例子:https://www.chancel.cn/#/blogcontent/12
// 查询字符集
mysql> SHOW CHARACTER SET;
+----------+---------------------------------+---------------------+--------+
| Charset | Description | Default collation | Maxlen |
+----------+---------------------------------+---------------------+--------+
| big5 | Big5 Traditional Chinese | big5_chinese_ci | 2 |
| dec8 | DEC West European | dec8_swedish_ci | 1 |
| cp850 | DOS West European | cp850_general_ci | 1 |
……
// 查询排序规则
mysql> SHOW COLLATION;
+--------------------------+----------+-----+---------+----------+---------+
| Collation | Charset | Id | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci | big5 | 1 | Yes | Yes | 1 |
| big5_bin | big5 | 84 | | Yes | 1 |
| dec8_swedish_ci | dec8 | 3 | Yes | Yes | 1 |
| dec8_bin | dec8 | 69 | | Yes | 1 |
| cp850_general_ci | cp850 | 4 | Yes | Yes | 1 |
| cp850_bin | cp850 | 80 | | Yes | 1 |
| hp8_english_ci | hp8 | 6 | Yes | Yes | 1 |
| hp8_bin | hp8 | 72 | | Yes | 1 |
| koi8r_general_ci | koi8r | 7 | Yes | Yes | 1 |
| koi8r_bin | koi8r | 74 | | Yes | 1 |
……
// 创建数据库
CREATE DATABASE dabase_name;
// 创建数据库并指定字符集与排序规则(最常用)
CREATE DATABASE database_name CHARACTER SET 'utf8' COLLATE 'gbk_chinese_ci';
// 删除数据库
DROP DATABASE database_name;
类型 | 包括 |
---|---|
整数类型 | tinyint、smallint、mediumint、int、bigint |
浮点数类型 | float、double、real、decimal |
日期和时间 | date、time、datetime、timestamp、year |
字符串类型 | char、varchar |
文本类型 | tinytext、text、mediumtext、longtext |
二进制类型 | tinyblob、blob、mediumblob、longblob |
创建表
// 创建表
CREATE TABLE table_name (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(100) NOT NULL);
修改表
// 改变主键列的主动增长属性
ALTER TABLE table_name CHANGE COLUMN id id INT(11) OT NULL AUTO_INCREMENT;
// 删除列
ALTER TABLE table_nmae DROP COLUMN name;
// 插入列
ALTER TABLE table_name ADD COLUMN name VARCHAR(100) IS NOT NULL ALTER id;
// 重命名表
ALTER TABLE table_name RENAME TO new_table_name;
删除表
DROP TABLE table_name;