小型软件和小型网络应用最佳选择
知识要常拿出来晒晒!

Version()取得当前版本
user()取得当前用户
now()取得当前时间
CURRENT_DATE是系统日期,不包含时间。

例如:

mysql> select version(),user(),now(),current_date;
+---------------------+----------------+---------------------+--------------+
| version()           | user()         | now()               | current_date |
+---------------------+----------------+---------------------+--------------+
| 5.0.41-community-nt | root@localhost | 2007-09-03 23:42:02 | 2007-09-03   |
+---------------------+----------------+---------------------+--------------+
1 row in set (0.00 sec)
点击在新窗口中浏览此图片

下载文件
这个文件只能在登入之后下载。请先 注册登入


总结mysql取得系统时间的功能

[阴 2007/01/22 16:47 | by fubin ]
在Oracle中系统时间为sysdate,在mysql中呢?
以下是我总结mysql取得系统时间的功能。
select now() as Systime;
select current_date as Systime;
select sysdate() as Systime;
SELECT CDName, InStock, Category INTO OUTFILE 'Backup.sql'
  FIELDS
     TERMINATED BY ','
     ENCLOSED BY '"'
FROM CDs WHERE Category='Country';

以上命令将在Mysql运行目录里的Date目录里,相应的数据库目录,这个例子是test目录里,生成'Backup.sql'文件。

Mysql四个加密函数

[晴 2006/11/26 20:37 | by fubin ]
Mysql一共采用四中加密方法,这些都是单向的加密方法。
这里特别提示:MD5已经不再安全,我国的研究研究员已经成功破解这个加密方法。

四种加密函数分别是:

  1:insert into test2 (id,test)values('1',MD5('pa55word'));
    2:insert into test2 (id,test)values('2',ENCRYPT('pa55word'));
    3:insert into test2 (id,test)values('3',PASSWORD('pa55word'));
    4:insert into test2 (id,test)values('3',SHA1('pa55word'));

Mysql的rollback

[晴 2006/11/09 17:35 | by fubin ]
我写这个是因为今天和别人交流的时候,有很多人对mysql太不了解了,他认为rollback功能都没有,是一个没有用的数据库,其实我本人认为只要业务小,就没有必要使用oracle更不应该使用Sql2000

注意这个实验只能在sql终端做,因为很多软件都是自动提交的。

Drop table Student;

CREATE TABLE Student (
  StudentID INT NOT NULL PRIMARY KEY,
  Name      VARCHAR(50) NOT NULL
)TYPE = InnoDB;


INSERT INTO Student (StudentID,Name) VALUES (1,'JJ Smith');
INSERT INTO Student (StudentID,Name) VALUES (2,'Joe Yin');
INSERT INTO Student (StudentID,Name) VALUES (3,'John Lee');
INSERT INTO Student (StudentID,Name) VALUES (4,'Jacky Chen');
 
 
 
BEGIN;

INSERT INTO Student (StudentID, Name) VALUES (98, 'Anne');
INSERT INTO Student (StudentID, Name) VALUES (99, 'Julian');

ROLLBACK;

select * from Student;

把mysql备份到文件中

[不指定 2006/09/11 23:36 | by fubin ]
try {
// Create the statement
Statement stmt = connection.createStatement();

// Export the data
String filename = "c:tempoutfile.txt";
String tablename = "mysql_2_table";
stmt.executeUpdate("SELECT * INTO OUTFILE "" + filename + "" FROM " + tablename);
} catch (SQLException e) {
}
1:Where、And、OR
     这三个是最常用的条件标。

  SELECT * FROM Bird WHERE sex = 'f';
  SELECT * FROM Bird WHERE woner= 'fubin';
   SELECT * FROM Bird WHERE (species = 'Car' AND sex = 'm') OR (species = 'Bus' AND sex = 'f');

2:Delete、Insert、Update

    这三个就不用说了吧。这三个是除了Select以为最重要的操作了。

  MySQL提供了几个语句调节符,允许调度策略:

  · LOW_PRIORITY关键字应用于DELETE、INSERT、LOAD DATA、REPLACE和UPDATE。
  · HIGH_PRIORITY关键字应用于SELECT和INSERT语句。
  · DELAYED关键字应用于INSERT和REPLACE语句。
  LOW_PRIORITY和HIGH_PRIORITY调节符影响那些使用数据表锁的存储引擎(例如MyISAM和MEMORY)。DELAYED调节符作用于MyISAM和MEMORY数据表。
   DELETE LOW_PRIORITY FROM Orders WHERE BookID=103;

   DELETE Orders.* FROM Books, Orders WHERE Books.BookID=Orders.BookID  AND Books.BookName='News'; 这是删除两个表的操作。

   INSERT INTO Professor (ProfessorID, Name) SELECT StudentID + 7, Name  FROM Student;
     这是想Professor表数据是:StudentID + 7和Name  FROM Student(这来自另外一个表)

  UPDATE Bird SET birth = '1989-08-31' WHERE name = 'BlueBird';

3:Case

     SELECT name AS Name,CASE category
           WHEN "Holiday" THEN "Seasonal"
           WHEN "Profession" THEN "Bi_annual"
           WHEN "Literary" THEN "Random" END AS "Pattern"
           FROM sales;
      Case是一个非常重要的条件语句。这句是把Holiday赋Seasonal等三个。并把其结果赋名字为Pattern字段。

  4:流程控制语句

        SELECT Name AS Title, StatID AS Status, RatingID AS Rating,
        IF(NumDisks>1, 'Check for extra disks!', 'Only 1 disk.') AS Verify
        FROM DVDs
        ORDER BY Title;
        把DVDs表DVD个数大于1的表。并把Verify大于2的设置为:Check for extra disks只有一个的设置为:Only 1 disk

        SELECT name AS Name, category AS Category,
        IF(winter>500, "Sells", "Slow") AS Trend
        FROM sales;也一样,就是把winter>500的设置为sells小于的设置为slow.
以Mysql为例

1:select avg(salary) AS 'Average Salary' from employee;

这是查询salary字段的平均数。

2:select  SUM(salary)  AS 'SUM' from employee;

这是查询salary字段的总数。

3:Aliases 别名的使用

 SELECT Name AS StudentName, StudentID AS ID FROM Student;这个比较简单,实际上和
 SELECT StudentName, StudentID FROM Student; 是一样的。

4:Count统计

   select COUNT(*) from employee;统计一共有多少行数据。
   SELECT owner, COUNT(*) FROM Bird GROUP BY owner;这样的统计的结果是,把bird表中,以owner为条件,把同一个主人,所有动物都统计数量出来。还可以实现查找各种鸟类在整个数据中的个数。
   select COUNT(*) from employee where title = 'Programmer';这个就是统计员工表中属于程序员的数量。
   

5:DISTINCT (不同的)

  SELECT DISTINCT owner FROM Bird; 这个就是列举出bird表里所有不同的主人。
  select distinct firstname from employee;这个显示的是员工表中,不同的姓。

6:Group(组)

   select * from employee GROUP by title;这个的意思是以工作内容为条件,以分组的形式显示,每个工种只显示一个。

7:IN(含盖)

   SELECT name, category FROM sales WHERE category IN("Profession");字段category 含"Profession"的数据。
  SELECT * from employee where title not in("Programmer");相反,这是不包含程序员这个职位的。
8:Like(类似)

   select lastName from employee where lastName like '%a';就是姓是由a结尾的姓。

Java SQL所有的操作汇总

[多云 2006/06/27 02:24 | by fubin ]
1: Loading a JDBC Driver 加载驱动
  如果你使用的是IDE方式开发,那么你必须加入Loading a JDBC Driver .一般的开发工具都在配置界面。
以Eclipse为例。如图,点击在新窗口中浏览此图片
  在加载外部Jar就可以把您在网络上下栽的Mysql JDBC加载进来。
   try {
       // Load the JDBC driver
       String driverName = "org.gjt.mm.mysql.Driver";
       Class.forName(driverName);
   } catch (ClassNotFoundException e) {
       // Could not find the driver
   }
分页: 1/2 第一页 [1] [2] 下页 最后页 [ 显示模式: 摘要 | 列表 ]