简介

MySQL数据库

  • 一款深受欢迎的开源关系型数据库
  • Oracle旗下的产品
  • 遵守GPL协议,可以免费使用与修改
  • 特点
  1. 性能卓越、服务稳定
  2. 开源、无版权限制、成本低多线程、多用户
  3. 基于CIS(客户端/服务器)架构
  4. 安全可靠

MySQL商业版与社区版

  • MySQL商业版是由MySQL AB公司负责开发与维护,需要付费才能使用
  • MySQL社区版是由分散在世界各地的MySQL开发者、爱好者一起开发与维护,可以免费使用
  • 两者区别
  1. 商业版组织管理与测试环节更加严格,会比社区版更稳定,
  2. 商业版不遵守GPL,社区版遵从GPL可以免费使用
  3. 商业版可获得7*24小时的服务,社区版则没有

MySQL产品阵营

  • 第一阵营:5.0-5.1阵营,可说是早期产品的延续
  • 第二阵营:5.4-5.7阵营,整合了MySQL AB公司、社区和第三方公司开发的存储引擎,从而提高性能
  • 第三阵营:6.0-7.1阵营,就是MySQL Cluster版本,为适应新时代对数据库的集群需求而开发

MySQL基础命令

查看已存在数据库mysql>SHOW DATABASES 查看mysql默认4个数据库

  • information_schema:定义访问数据库元数据的方式。数据库名和表名,列的数据类型、访问权限等。
  • mysql:核心数据库,负责存储数据库用户、权限、关键字等用户自己需要使用的控制和管理信息。
  • performance_schema:数据库的性能参数,存储引擎等。
  • sys:sys系统库下包含许多视图,它们以各种方式对performance_schema表进行聚合计算展示。

查看当前数据库中有哪些表

mysql> use mysql;
mysql> show tables;

查看表的结构
user为表

mysql> use mysql;
mysql> describe user;

SQL数据库语言的分类

  • DDL(Data Definition Language,数据定义语言):用来建立数据库、数据库对象和定义字段,如 CREATE、ALTER、DROP。
  • DML (Data Manipulation Language,数据操纵语言):用来插入、删除和修改数据库中的数据,如NSERT,UPDATE、DELETE。
  • DQL (Data Query Language,数据查询语言):用来查询数据库中的数据,如 SELECT。
  • DCL (Data Control Language,数据控制语言)∶"用来控制数据库组件的存取许可、存取权限等,如 coMAI.ROLLBACK、GRANT、REVOKE。

DDL命令

  • 创建新的数据库
mysql> create database auth;
  • 创建新的表
    CREATE TABLE表名(字段1名称类型,字段2名称类型,…,PRIMARY KEY(主键名))
mysql> use auth;
mysql> create table users (name char(16) not null, passwd char(48) default", primary key(name));
  • 删除一个数据表
mysql> drop table auth.users;
  • 删除一个数据库
mysql> drop database auth;

DML命令

  • 插入数据记录
    insert into 表名(字段1, 字段2, …) VALUES(字段1的值, 字段2的值,…)
mysql> use auth;
mysql> insert into users(user_name, user_passwd) values('zhangsan', password ('123456'));
或
mysql> insert into users values('lisi', password('654321'));
  • 查询数据记录
    SELECT字段名1,字段名2,…from 表名 where条件表达式
mysql> select * from auth.users;
mysql> select name, passwd from auth.users where user_name='zhangsan';
  • 修改数据记录
    UPDATE表名SET字段名1=字段值1[,字段名2=字段值2]WHERE条件表达式
mysql> updata auth. users SET user_passwd=PASSWORD(’'')WHERE user_name= ' lisi';
mysq1> select * from auth.sers;
  • 修改数据库密码
mysq1> updata mysql.user set
authentication_string=passwd('123457') where user='root';
[root@www ~]# mysqladmin -u root -p'123457’ password123456'
  • 删除数据库记录
    delete from表名where 条件表达式
mysql> delete from auth.users where user_name='lisi';
mysql> select * from auth.users;