Mysql学习
现在我们来讲下mysql,由于原来没用过mysql今天也只看了一下,我现在把我今天学习的小知识点和大家分享下吧。
Mysql服务程序的默认端口号是3306(oracle :1521,sql server :1433)
Show databases ;查看数据库
show variables;显示变量名
Show tables ;查看数据库表(注意要进入所在的库才能用)
Use <databasename> 进入数据库
Select database(); 可以查看当前所在的数据库名字
Describe <tablename> 查看表的信息
Select user();查看登陆用户信息
Select now() 查看当面时间
Select cureent_date 查看当前日期
日期函数还有 year(),month(),DATE_ADD(),now(),current_date等等。
聚合函数和数学函数有:count(),max(),min(),sin(),cos(),mod()等等
其他函数请查看mysql的函数库,这里只是举出常用的函数。
现在我们也来讲几个简单的查询
第1个
如果我们现在有一张表里有一只求队的信息,要求查出每一只球队组合的信息,并且要求无重复。列入 球队A---球队B和球队B---球队A就是一条重复记录。
Select a.name team_a,b.name team_b from (select name from team order by name) a,(select name from team order by name) b where a.name>b.name
这样就可以查出我们要的数据,当然这里的表设计的有问题,我们表示一只球队的表肯定有个主键ID,根据主键ID来查寻就很简单了。
第2个
如果我们要查看出生日是当面日期的下一个月的记录。
SELECT name, birth FROM pet
WHERE MONTH(birth) = MONTH(DATE_ADD(CURDATE(),INTERVAL 1 MONTH));
还可以用模12 然后加1。
mysql> SELECT name, birth FROM pet
è WHERE MONTH(birth) = MOD(MONTH(CURDATE()), 12) + 1;
第3个
用mysql实现分页很简单
Select * from company limit 3,3 (limit第1个表示页,第2个表示显示几条记录)
第4个 mysql 建表时候的自动增张
CREATE TABLE person (
id SMALLINT UNSIGNED NOT NULL (primary key这样也可以)AUTO_INCREMENT,
name CHAR(60) NOT NULL,
PRIMARY KEY (id)
);
要想以AUTO_INCREMENT值开始而不是1,你可以通过CREATE TABLE或ALTER TABLE来设置该值,如下所示:
mysql> ALTER TABLE tbl AUTO_INCREMENT = 100;
批处理可以用
mysql -uroot -p itcast <"c:/a.txt"
也可以mysql> source filename;
mysql> /. filename批处理啊!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
mysql -uroot -p itcast <"c:/a.txt"
也可以mysql> source filename;
mysql> /. Filename
为什么要使用一个脚本?有很多原因:
- 如果你需要重复运行查询(比如说,每天或每周),可以把它编成一个脚本,则每次执行时不必重新键入。
- 可以通过拷贝并编辑脚本文件从类似的现有的查询生成一个新查询。
- 当你正在开发查询时,批模式也是很有用的,特别对多行命令或多语句命令序列。如果你犯了一个错误,你不必重新输入所有内容,只需要编辑脚本来改正错误,然后告诉mysql再次执行脚本。
- 如果你有一个产生多个输出的查询,你可以通过一个分页器而不是盯着它翻屏到屏幕的顶端来运行输出:
· shell>
mysql < batch-file | more
- 你可以捕捉文件中的输出以便进行进一步的处理:
· shell>
mysql < batch-file > mysql.out
- 你可以将脚本分发给另外的人,以便他们也能运行命令。
如果你想了解更详细的资料请看mysql帮助