原文:
大家都知道mysql是开源的数据库,现在mysql在企业中的使用也越来越多,本人之前用过sql server数据库,因业务需要和自己的兴趣想要学习mysql,对于mysql,本人还是新手,请大家多多指正。
1.安装mysql 本人安装的版本是mysql5.6
mysql 5.6的安装包下载地址:
安装过程比较简单,基本上是下一步下一步,安装过程中需要设置mysql的登录密码。本人安装的时候附带安装了mysql的可视化工具 。
是一款专为mysql设计的er/工具。它是著名的数据库设计工具dbdesigner4的继任者。你可以用mysql workbench设计和创建新的数据库图示,建立数据库文档,以及进行复杂的mysql 迁移。界面如下:

可视化工具的首页主要分为三个部分:
1)sql development:相当于查询分析器,用于编写sql脚本。
2)data modeling:数据模型,用于构建实体模型,可以通过正向和逆向工程实现与数据库和表之间的转换。
3)server administration:服务器管理,主要包括服务器的cpu、内存消耗查看,启动mysql服务,一些其他的配置,以及数据导入导出等等。
点击“new connection”可以创建新的连接,打开连接,开始编写sql脚本。如下图:
可以看到数据库,表,脚本编辑视图,执行结果视图,输出视图等等。
2.配置环境变量
将mysqld.exe的安装路径的加到path环境变量中
3.mysql注释符有三种:
1)、#...
2)、-- ...,注意--后面必须跟一个空格
3)、/*...*/
4.存储引擎
:mysql5.5之前的默认引擎,最为常用。拥有较高的插入,查询速度,但不支持。
:型数据库的首选引擎,支持事务,支持行级锁定, mysql 5.5起成为默认数据库引擎。
5.数据库和表的创建
#创建数据库(第一种注释方法)
create database orderdb;
-- 删除数据库(第二种注释方法)
drop database orderdb;
/*显示所有数据库*/(第三种注释方法)
show databases;
#显示存储引擎
show engines;
#like匹配
show variables like ‘have%‘;
#查询默认的存储引擎
show variables like ‘storage_engine‘;
use orderdb;
#创建表,创建人员表,mysql中自增使用auto_increment, 而sql server中自增使用identity,此表仅用作测试
1
2
3
4
5
6
7
8
<code> </code><code>create</code>
<code>table</code> <code>tse_person</code>
<code>(</code>
<code> id</code><code>int</code>
<code>auto_increment,</code>
<code> </code><code>name</code>
<code>varchar</code><code>(32)</code><code>unique</code><code>,</code>
<code> age</code><code>int</code><code>,</code>
<code> sex boolean</code><code>default</code>
<code>0,</code>
<code> </code><code>primary</code>
<code>key</code>
<code>(id)</code>
<code>);</code>
#删除表
drop table tse_person;
#创建顾客表
<code>create</code> <code>table</code> <code>tse_customer</code>
<code> </code><code>cid</code><code>int</code><code>,</code>
<code> </code><code>cname</code><code>varchar</code><code>(32)</code><code>not</code>
<code>null</code><code>,</code>
<code> </code><code>email</code><code>varchar</code><code>(32)</code><code>not</code>
<code> </code><code>mobile</code><code>varchar</code><code>(20),</code>
<code> </code><code>primary</code>
<code>(cid)</code>
#创建产品表
9
<code>create</code> <code>table</code> <code>tse_product</code>
<code> </code><code>pid</code><code>int</code><code>,</code>
<code> </code><code>pnum</code><code>varchar</code><code>(32),</code>
<code> </code><code>pname</code><code>varchar</code><code>(128),</code>
<code> </code><code>unitprice</code><code>float</code>
<code>default</code> <code>5.0,</code>
<code> </code><code>storage</code><code>int</code><code>,</code>
<code>(pid)</code>
#创建订单表,cid为外键,依赖于顾客表中的cid
<code>create</code> <code>table</code> <code>tse_order</code>
<code> </code><code>(</code>
<code> </code><code>oid</code><code>int</code><code>,</code>
<code> </code><code>cid</code><code>int</code><code>,</code>
<code> </code><code>orderdate datetime</code><code>default</code>
<code>now(),</code>
<code> </code><code>isfinish</code><code>bit</code><code>,</code>
<code> </code><code>primary</code>
<code>(oid),</code>
<code> </code><code>constraint</code>
<code>c_fk_cid</code><code>foreign</code>
<code>key</code> <code>(cid)</code><code>references</code>
<code>tse_customer(cid)</code>
<code> </code><code>);</code>
#创建订单明细表,订单编号和产品编号做联合主键,订单编号oid和产品编号pid同时也为外键
<code>create</code> <code>table</code> <code>tse_orderdetail</code>
<code> </code><code>oid</code><code>int</code><code>,</code>
<code> </code><code>quantity</code><code>int</code><code>,</code>
<code>key</code> <code>(oid, pid),</code>
<code> </code><code>constraint</code>
<code>c_fk_orderdail_oid</code><code>foreign</code>
<code>key</code> <code>(oid)</code><code>references</code>
<code>tse_order(oid),</code>
<code> </code><code>constraint</code>
<code>c_fk_orderdail_pid</code><code>foreign</code>
<code>key</code> <code>(pid)</code><code>references</code>
<code>tse_product(pid),</code>
#查看表结构
describe tse_orderdetail;
desc tse_orderdetail;
#查看表的详细结构
show create table tse_orderdetail;
#修改表名
alter table tse_order rename tse_order2;
alter table tse_order2 rename tse_order;
#修改字段的类型
alter table tse_customer modify mobile varchar(30);
#修改字段名和字段类型
alter table tse_customer change mobile telephone int;
alter table tse_customer change telephone mobile varchar(20);
#在表的开头添加字段
desc tse_person;
alter table tse_person add num int not null first;
#在表的指定字段后添加字段
alter table tse_person add email varchar(32) not null after name;
这篇博客先简单介绍这些,谢谢您的阅读~
如果您有什么问题,欢迎在下面评论,我们一起讨论,谢谢~
如果您觉得还不错,不妨点下右下方的推荐,有您的鼓励我会继续努力的~