SQL 个人学习笔记

来源:互联网 发布:js三元表达式嵌套 编辑:程序博客网 时间:2024/04/26 16:14

Mysql安装

返回主目录

Mysql的安装文件可以直接到 http://www.mysql.com 下载,获得for win32.zip包,建议选择4.0.20d版本。这里不详细说明。

  下载获得Mysqlfor win32安装包后,用winzip解压缩,直接运行setup.exe,需要注意的是选择一个安装路径,当然,安装路径可以任意,建议选择C:/MySQL目录。安装完成后MySQL也就完成了。默认的用户名是root,密码为空。

  Mysql安装完成后,请通过开始-程序-附件-命令提示符进入:
  录入cd C:/mysql/bin 并按下回车键,将目录切换为 cd C:/mysql/bin

  在 C:/mysql/bin> 命令提示符下录入 mysqld-nt -install 命令,然后按下回车,如果出现 Service successfully installed 的提示, 这表示你已成功的将 MySQL 安装成一项 Windows 的服务。

  点击 开始-程序-管理工具-服务 ,你可以看到Mysql已经成为众多服务项目中的一项,不过此时它还未被启动, 因此接下来我们就来启动它。

  启动 MySQL 服务的方法有以下三种,请自行选择其中一种来进行:

  重启机器时自动启动它
  在服务窗口中选取 MySQL 服务名称,然后按下启动按钮来启动它
  在命令提示字符窗口中输入 NET START MySQL 指令来启动它

  Mysql数据安装完成,系统会默认生成一个名为test的数据库。一般情况下,由于该数据需要用root用户进行访问,从安全性角度而言,我们建议你新建一个数据库,并给这个数据库分配一个新的用户来访问。

  由于Mysql数据库默认的客户端功能比较少,不支持数据库的建立和用户的新增。其他比如Mysql-front等工具带了这些功能,您可以去下载这些工具来使用,当然,你也可以通过以下介绍的命令行方式来新增用户与数据库。

  登录数据库
  命令提示字符窗口录入,
  录入cd C:/mysql/bin 并按下回车键,将目录切换为 cd C:/mysql/bin
  再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>

  修改密码
  C:/mysql/bin提示符下录入:
  格式:mysqladmin –u用户名 -p旧密码 password 新密码
  例如:给root加个密码ab12。键入以下命令:

  mysqladmin -uroot password ab12

  建立数据库
  格式:create database 库名;
  例如:建立新数据库
shopex
  在MYSQL的提示符下:mysql> 录入 create database shopex;

  显示数据库
  格式:show databases;
  注意是databases而不是database

  建立新用户
  格式:grant all privileges on 数据库.* to 用户名@登录主机 identified by "密码"
  例如:增加一个用户test密码为1234,让他只可以在localhost上登录,并可以对数据库Shopex进行所有的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),
  在MYSQL的提示符下:mysql> 录入grant all privileges on shopex.* to test@localhost identified by "1234";

  通过以上操作,你建立一个新的数据库 shopex,并增加了一个名为testshopex数据库有所有操作权限。

  注意:以上仅仅是简单的Mysql操作命令,如果你需要了解更加详细的资料,请查阅Mysql相关操作说明文档。

  接下去的安装就要看你选择什么作为你的Web服务器了,建议直接使用IIS

 

学习连接:

http://dev.mysql.com/doc/refman/5.1/zh/tutorial.html

 

JAVA连接MYSQL配置

下面一步就是把mysql-connector-java-5.0.4-bin解压后里面有一个mysql-connector-java-5.0.4-bin.jar的文件,把此文件复制到C:/Program Files/Java/jre1.5.0_11/lib/ext,就可以拉,下面介绍几个网上别人写的访问程序:

1,简单测试用的

import java.sql.*;
import java.lang.*;
public class test{
      public static void main(String args[]){
        try{ Class.forName("com.mysql.jdbc.Driver");/*
驱动的名称
         Connection c=DriverManager.getConnection("jdbc:mysql://localhost/test?user=root&password=286772");/
访问的数据库的帐号密码
         Statement s=c.createStatement();
         ResultSet r=s.executeQuery("select * from first");/*
执行SQL语句
         while(r.next()){
                 System.out.println(r.getString("name"));)/*
返回的结果
         }
         s.close(); 
         }catch(Exception e){e.printStackTrace();}/
捕获异常
      }
}

 

 

SQL 语句:

1.    主键的值必须是唯一的,并且不能为空,这可以提高MySQL从多个表中取得数据或者取得指定键值对应的行的速度。MySQL通过一个特殊的称为Index索引的数据结构做到这一点,Index是找到一条记录的快捷方式,就像图书馆的卡片目录。

2.       查看表的列定义使用describe命令

3.       Insert时引号的使用:数字数值、函数和NULL不要用,字符串数值、时间、日期则要用引号括起来。

4.       选择数据库:

mysql> USE test

Database changed

5.    创建数据库:CREATE DATABASE databasename;

6.    创建表:

Mysql> CREATE TABLE TableName(Field1 VARCHAR(20), Field2 CHAR(1), Field3 DATE……);

7.       向表中插入数据

mysql> INSERT INTO  TableName VALUES(value1, value2, value3……);

8.       更改表中数据:

Mysql> UPDATE TableName SET Field1 = NewValue WHERE Condition;

9.       使用alter修改表定义时,即使没有改变列的数据类型,列的定义仍然必不可少。

10.   结果排序用select XX from YY order by zz;

默认排序是升序,最小的值在第一。要想以降序排序,在你正在排序的列名上增加DESC(降序 )关键字:

SELECT name, birth FROM pet ORDER BY birth DESC;

可以对多个列进行排序,并且可以按不同的方向对不同的列进行排序。例如,按升序对动物的种类进行排序,然后按降序根据生日对各动物种类进行排序(最年轻的动物在最前面),使用下列查询:

mysql> SELECT name, species, birth FROM pet

    -> ORDER BY species, birth DESC;

注意DESC关键字仅适用于在它前面的列名(birth);不影响species列的排序顺序

11.   模式匹配:

SQL模式匹配允许你使用“_”匹配任何单个字符,而“%”匹配任意数目字符(包括零字符)。在 MySQL中,SQL的模式默认是忽略大小写的。下面给出一些例子。注意使用SQL模式时,不能使用=!=;而应使用LIKENOT LIKE比较操作符。

要想找出以“b”开头的名字:

mysql> SELECT * FROM pet WHERE name LIKE 'b%';

要想找出以“fy”结尾的名字:

mysql> SELECT * FROM pet WHERE name LIKE '%fy';

 

12.   Index的数据是经过排序的,数据组织方式对查询进行了优化。我们要决定对哪些数据域进行索引,每个索引在存储上都是一个单独的数据文件。索引必须先定义后使用。使用索引的好处总结起来两点:匹配索引列的查询可以非常快,检查索引值的唯一性非常快,坏处在于对被索引的表的插入和删除操作会比较慢,而且需要额外的存储空间。

创建索引:CREATE UNIQUE INDEX authind ON authors (author) ;可以为多个列创建索引。适合用来索引的列是那些有可能被用在where子句中的列,特别是如果你知道某些特定列的组合会被用到时,就可以为这些列创建一个多列索引。

13. 事务:强制数据库把几个更改操作看做一个工作单元,要么全部成功,要么全部失败。若使用存储引擎支持事务,比如InnoDB或者BDB,可以使用“start transaction”命令开始一个事务,事物结束时通过commit提交更改或rollback取消更改来完成。