MySql入门

MySQL是什么?

  MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

  数据库的本质是一个文件系统  数据库 中记录是有行有列的数据库就是关系型数据库 原生数据中 Oracle 比 MySQL强大 ,不过一般使用MySQL数据库(因为免费!)

为什么要使用MySQL:

由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。

MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择

首先究正你的一个印象:MySQL功能也很强大,只是对于可视化界面操作工具少,所以给很我初学者造成难上手的印象。
它的优点还有:开源,免费,支持非WINDOWS操作系统(并且运行速度比在WINDOWS上还要快),速度快,二次开发(除有需要特定应用,一般是不需要二次开发的)。
大公司更注重版权,开发人员也不能随便用盗版,所以,如果全部用正版数据库,肯定增加成本的。

MySQL的安装:

 service mysqld start   启动 Mysql

 - u root  password 'root'  为root 账号设置密码

mysql>GRANT ALL PRIVILEGES ON *.* TO myuser @IDENTIFIED BY mypassword WITH GRANT OPTION 远程连接授权

SQL语句: 

DDL 定义语句 create alter drop

DML 操控语句 insert delete update 

DCL 控制语句 grant 创建用户 

DQL 查询记录  select from where 

关系数据库语言的国际标准 SQL92 SQL99  MySQL中的limit是自定义的

sql语句示范:

查看表

查看数据库中的所有表:show tables;

查看表结构:desc 表名;

删除表

drop table 表名;

l修改表

alter table 表名 add 列名 类型(长度) 约束; --修改表添加列.

alter table 表名 modify 列名 类型(长度) 约束; --修改表修改列的类型长度及约束.

alter table 表名 change 旧列名 新列名 类型(长度) 约束; --修改表修改列名.

alter table 表名 drop 列名; --修改表删除列.

rename table 表名 to 新表名; --修改表名

alter table 表名 character set 字符集; --修改表的字符集

新增

insert into 表 (列名1,列名2,列名3..) values  (值1,值2,值3..); -- 向表中插入某些列

insert into 表 values (值1,值2,值3..); --向表中插入所有列

insert into 表 (列名1,列名2,列名3..) values select (列名1,列名2,列名3..) from 表

insert into 表 values select * from 表

修改

update 表名 set 字段名=值,字段名=值;

update 表名 set 字段名=值,字段名=值 where 条件;

删除

delete from 表名 [where 条件];

分组

select  cid,count(*) from product group by cid  select查出的列(聚合函数除外)必须出现在group by 中

执行顺序

  1. FROM(将最近的两张表,进行笛卡尔积)---VT1
  2. ON(将VT1按照它的条件进行过滤---VT2
  3. LEFT JOIN(保留左表的记录)---VT3
  4. WHERE(过滤VT3中的记录--VT4…VTn
  5. GROUP BY(对VT4的记录进行分组---VT5
  6. HAVING(对VT5中的记录进行过滤---VT6
  7. SELECT(对VT6中的记录,选取指定的列--VT7
  8. ORDER BY(对VT7的记录进行排序--游标
  9. LIMIT(对排序之后的值进行分页)

写where 条件的时候,优先级高的部分要去编写过滤力度最大的条件语句

表与表之间的关系

一对一关系 

一对多关系

多对多关系

(多对一不是表之间的关系,是对象之间的关系)

原文地址:https://www.cnblogs.com/caocw/p/12090079.html