数据库介绍 关系数据库 基于关系模型的数据库系统 关系模型数据结构使用简单易懂的二维数据表 关系模型可用简单的“实体-关系”表示 实体 关系 属性 三要素 实体:也称实例,对应现实世界中可区别于其他对象的“事件”或“事物” 属性:实体所具有的某一特性,一个实体可以有多个属性 联系:实体集之间的对应关系称为联系,也成为关系
非关系数据库 也成为nosql 存储数据不以关系模型为依据,不需要固定格式 非关系模型数据库优点: 数据库可以高并发读写 对海量数据高效存储访问 对数据库具有高扩展性与高可用性
mysql数据库管理 SQL语言 Structured Query Language缩写,即结构化查询语言 关系型数据库标准语言 用于维护管理数据库 包括数据查询、数据更新、访问控制、对象管理功能 SQL分类 DDL:数据定义语言 DML:数据操纵语言 DQL:数据查询语言 DCL:数据控制语言 创建数据库 create database 数据库名 mysql> create database auth1; Query OK, 1 row affected (0.00 sec) 创建数据表 create table 表名 (字段定义…) 进入数据库auth1 use auth1 创建users1表第一个字段(属性)username16字符不能为空,第二字段(属性)user_passwd48字符不能为空,指定user_name开头删除username开头就是删掉一整行 mysql> create table users1 (user_name char(16) not null,user_passwd char(48) default’’,primary key (user_name));
查看库
mysql> show databases -> ; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+进入库,并查看表
mysql> use mysql mysql> show tables -> ; +---------------------------+ | Tables_in_mysql | +---------------------------+ | columns_priv | | db | | engine_cost | | event | | func | | general_log | | gtid_executed | | help_category | ----------------------------+显示数据表节构 describe 【数据库名.】表名(可以使用desc代替)
mysql> desc yu; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | id | int(4) | NO | PRI | NULL | | | name | varchar(10) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+DML语句用于对表中数据进行管理 包括的操作 INSERT:插入新数据 UPDATE:更新原有数据 DELETE:删除不需要的数据 INSERT INTO 表明(字段1,字段2,…)VALUES(字段1的值,字段2的值,…)
mysql> insert into yu (id,name) values (3,'wu'),(4,'ki');修改、更新数据表中数据记录 UPDATE 表名 SET 字段名1(属性)=值1【字段名2=值2】 WHERE 条件表达式
mysql> update yu set name='shi' where name='si'; mysql> select * from yu; +----+-------+ | id | name | +----+-------+ | 1 | zhang | | 2 | shi | | 3 | wu | | 4 | ki | +----+-------+创建两张表将两张表关联起来,需要注意有一项要一样的这里指定的是id号 先创建表
mysql> create table yu2 (id int(4) primary key,aihao varcchar(6)); Query OK, 0 rows affected (0.00 sec) 插入表中数据 mysql> insert into yu2 values (1,'lest'),(2,'read'),(3,'open'),(4,'dou');在创建一个表
mysql> create table yu3 (id int(4) primary key,name varchhar(6)); Query OK, 0 rows affected (0.01 sec) 然后插入数据 mysql> insert into yu3 values (1,'chen'),(2,'yu'),(3,'heng'),(4,'oo');里面id号是一样的然后我们用id号做关联
mysql> select yu2.aihao,yu3.name from yu2 inner join yu3 on yu2.id=yu3.id; 前面是关联的内容后面是用什么关联。表中删除指定数据记录 DELETE FROM 表名 WHERE 条件表达式 mysql> delete from auth.users where user_name=‘lisi’; *不带where条件语句删除所有记录(高危命令) delete from auth.users;
管理表中数据 DQL是数据查询语句,只有SELECT 用于从数据表中查询符合条件的记录 查询时可不指定条件 SELECT 字段名1(属性1),字段名2…FROM 表名 查看auth库中users表中所有内容
mysql> select * from auth.users; +-----------+-------------------------------------------+ | user_name | user_passwd | +-----------+-------------------------------------------+查询时指定条件 SELECT 字段名1(属性1),字段名2… FROM 表名 WHERE 条件表达式(where) 查找auth库中users表中zhangsan两个属性的信息
mysql> select user_name,user_passwd from auth.users where user_name='zhangsan'; +-----------+-------------------------------------------+ | user_name | user_passwd | +-----------+-------------------------------------------+ | zhangsan | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |