你的位置:首页 > 数据库

[数据库]MySQL记录_20160919


1.首先先看下什么是MySQL。

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 最流行的关系型数据库管理系统,其开放源码这一特点,使得一般中小型网站的开发都选择 MySQL 作为网站数据库。

2、安装。

安装参考:http://jingyan.baidu.com/article/90bc8fc8615c99f653640cc4.html

可以从MySQL官网下载安装程序,运行 mysql-installer-community-5.7.10.0.msi 选择安装路径即可。

安装过程中创建本地服务登陆名和密码 下一步用到

  

3、安装管理工具-SQLyog连接管理MySQL数据库

 

  

  4、SQL语句 

#4.1创建数据库、数据库表 

#一 创建/删除数据库 及数据表及插入记录 删除记录 #1.1如果存在 exists 数据库test_a 则删除DROP DATABASE IF EXISTS test_a #1.2如果不存在数据库test_a 则创建CREATE DATABASE IF NOT EXISTS test_a#1.3如果存在数据表test_a 则删除DROP TABLE IF EXISTS test_a #1.4如果不存在数据表test_a 则创建CREATE TABLE IF NOT EXISTS test_a03(city VARCHAR(255),username INT(11),productID INT(11),price DECIMAL(19,4),sales INT(11),pay_money DECIMAL(19,4),order_time DATETIME,salesperson VARCHAR(255),KEY city(city),KEY username(username))ENGINE INNODB DEFAULT CHARSET=utf8 #engine 表示数据库引擎为innodb # CHARSET=utf8表示 数据库编码是utf8编码#2修改表名 alter table 表名 rename 新表名ALTER TABLE test_a03 RENAME test_a03order;#把test_a表修改为 test_a001#3增加/删除一个字段ALTER TABLE `test_a03order` ADD order_date DATE#3.1增加一个字段在指定的字段后面ALTER TABLE `test_a03order` ADD order_date DATE AFTER `order_time`#3.2删除一个字段ALTER TABLE `test_a03order` DROP order_date #4插入一条记录 更新一个值INSERT INTO test_a03order (username,pay_money,order_time) VALUES(790000000,NULL,"2013-01-02 00:01:02");#5更新pay_money空值 执行查询空值null 为0UPDATE test_a03order SET pay_money=0 WHERE username=790000000 #6查询是否更新 原来是空值 现在应该是0SELECT username,pay_money,order_time FROM test_a03order WHERE username=790000000;#7再插入一条记录 看ifnull函数效果INSERT INTO test_a03order (username,pay_money,order_time) VALUES(790000000,NULL,"2013-01-02 00:01:02");#8 ifnull(空值null,0) 空值 用0 替换SELECT username,SUM(IF(order_time>"2013-01-01",pay_money,NULL)) AS pay_money1,IFNULL(SUM(pay_money),0) AS pay_moneyFROM test_a03order AS aWHERE username=790000000#9删除数据表记录 DELETE FROM test_a03order WHERE username=790000000#10查询是否删除 全为空SELECT username,pay_money,order_time FROM test_a03order WHERE username=7900000000; 

     

 #4.2 SQL执行顺序

(8)  select (9)  distinct (11)  top 1(6)  Table1.id,COUNT(Table1.name) as nameCount (1)  from Table1(3)  inner join Table2(2)  on Table1.id=Table2.id(4)  where Table1.id<4(5)  group by Table1.id(7)  having Table1.id<3(10) order by Table1.id desc