MySQL是最流行的关系型数据库管理系统
我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
详情见这里。
教程在这里
遇到了按钮不见的问题,用快捷键[alt+n
]下一步,[alx+e
]执行,[alt+f
]完成
安装完成后启动MySQL
如果选择加密方式的时候选择了推荐的第一种新的加密方式,在用navicat连接数据库的时候会遇到下面的问题
Client does not support authentication protocol requested by server; consider upgrading MySQL client
解决方法:
alter user '用户名'@localhost IDENTIFIED WITH mysql_native_password by '你的密码';
打开MySQL命令行工具,输入密码后:
show databases;
显示在服务器上存在什么数据库
mysql>show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| my |
| myfirstdatabase |
| mysql |
| performance_schema |
| sakila |
| sys |
| test |
| world |
+--------------------+
9 rows in set (0.00 sec)
创建数据库 create database zhou;
mysql> create database zhou;
Query OK, 1 row affected (0.00 sec)
mysql> use xiaohutu
Database changed
show tables;
显示在么数据库上存在那些表
mysql> show tables;
Empty set (0.00 sec)
mysql> create table mytable (name varchar(20), sex char(1),birth date, birthaddr
varchar(20));
Query OK, 0 rows affected (0.22 sec)
VARCHAR(M)
是一种比CHAR
更加灵活的数据类型,同样用于表示字符数据,但是VARCHAR
可以保存可变长度的字符串。其中M
代表该数据类型所允许保存的字符串的最大长度,只要长度小于该最大值的字符串都可以被保存在该数据类型中。因此,对于那些难以估计确切长度的数据对象来说,使用VARCHAR
数据类型更加明智。
mysql> describe mytable;
+-----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| sex | char(1) | YES | | NULL | |
| birth | date | YES | | NULL | |
| birthaddr | varchar(20) | YES | | NULL | |
+-----------+-------------+------+-----+---------+-------+
4 rows in set (0.06 sec)
mysql> select * from mytable;
Empty set (0.00 sec)
mysql> select zhou from mytable where id=1
[ { name: 'zhou' } ]
mysql> insert into mytable value('xiaoming','f','1994-03-06','china');
Query OK, 1 row affected (0.13 sec)
mysql> update mytable set birth="1994-03-06" where birth="0194-03-06";
Query OK, 1 row affected (0.14 sec)
Rows matched: 1 Changed: 1 Warnings: 0
包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。
表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。
字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET
主键(primary key)一列(或一组列),其值能够唯一区分表中的每个行。 唯一标识表中每行的这个列(或这组列)称为主键。没有主键,更新或删除表中特定行很困难,因为没有安全的方法保证只设计相关的行。
虽然并不总是都需要主键,但大多数数据库设计人员都应保证他们创建的每个表有一个主键,以便于以后数据操纵和管理
优点:
缺点
:
1. 不支持水平分片架构,水平分片的设计当中,这种方法显然不能保证全局唯一。
2. 表锁
3. 自增主键不连续
优点
缺点