在写业务代码过程中,对mysql最多的操作就是增删改查加建表,但是每一个表结构、sql语句在高请求的服务上都是至关重要的。这周来巩固下mysql基础。
1、关系型数据库和noSql
数据库类型 | 优势 | 缺点 | 适用场景 |
---|---|---|---|
关系型数据库 | 支持复杂查询、事务、成熟 | 为维护一致性造成读写性能差、维护成本高 | 如数据备份、复杂连接查询、一致性数据存储等 |
非关系型数据库(not only sql) | 性能高、成本低、kv存储支持各类数据类型、可扩展 | 不够成熟、不提供sql、事务 | 短时间响应的查询操作、简单的数据存储、数据结构更改频繁的数据 |
2、登录
mysql> mysql -D dbname -h hostname -u username -p password
3、创建数据库和用户
mysql> create database dbname;
mysql> grant select,insert,update,delete,create,drop,alter on dbname.* to dbname@localhost identifed by '密码';
mysql> set password for dbname@localhost = ‘密码’;
4、权限:
mysql支持复杂的权限系统,不太用户有不同权限(最少权限原则)。
权限存储在名为mysql的数据库中的5个系统表中:mysql.user、mysql.db、mysql.host、mysql.tables_priv、mysql.columns_priv
grant和revoke 分别用来授予和取消mysql用户的权限。也可以直接修改上面5个权限表。
mysql权限分为4个级别:全局、数据库、表、列
5、数据库基本命令:
1)创建数据库:mysql> CREATE DATABASE 库名;
2) 查看当前数据库:mysql> SHOW DATABASE; SHOW TABLES;
3) 删除数据库:mysql> DROP DATABASE 库名;
6、数据表基本命令
1) 更新表结构: mysql> ALTER
2) 导出表结构:mysql>
3) 查看表结构:mysql> show create table;
4) 创建表:mysql> CREATE TABLE '表名' () ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COMMENT='表注释';
7、查询基本命令:
mysql>
8、更新基本命令:
mysql>
9、删除基本命令
mysql>
9、插入基本命令
mysql>