Well, you could pull up a limited amount of characters with MySQL's LEFT() function
SELECT LEFT(article, 120) as preview FROM...
But be wary if you've got any html stored that can cause problems, so you might have to tidy up what it returns... or you could return a limited number of words, with SUBSTRING_INDEX
The format is:
[INDENT]SUBSTRING_INDEX(str,delim,count)
Returns the substring from string str before count occurrences of the delimiter delim. If count is positive, everything to the left of the final delimiter (counting from the left) is returned. If count is negative, everything to the right of the final delimiter (counting from the right) is returned.
mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2);
-> 'www.mysql'
mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', -2);
-> 'mysql.com'
This function is multi-byte safe.[/INDENT]
So you could use spaces as the delimiter
SELECT SUBSTRING_INDEX(article, ' ', 30) as preview FROM...
Again, stored html might have to be cleared from it.