我们公司是游戏公司,数据库用的就是mysql。我之前写程序没有特别深入学习过数据库,都是小打小闹,最基本的select语句。项目中有封装一个类用于访问数据库,另外就是存储过程了。在项目中,涉及到数据库时我做日常的开发没有问题,但是总感觉少了一点自信,所以要整理一些mysql笔记。于是从mysql中文手册入手,下面是最基础的操作了。试验中用的数据库和表都在笔记中详细说明了(原手册本身很详细,我就是按照自己喜欢的方式整理一下)。一边阅读一边操作即可。
基础概念。
1)一个命令通常由
SQL语句组成,随后跟着一个
分号。
2)mysql用
表格(行和列)方式显示查询输出。第一行包含列的标签,随后的行是查询结果。通常,列标签是你取自数据库表的列的名字。
基础命令。
show databases; /*查看当前服务器上有哪些数据库*/
use <db_name>; /*选择某个数据库*/
show tables; /*查看当前数据库中有哪些表*/
describe <table_name>; /*查看表定义*/
基础函数。
select database(); /*查看当前选择的数据库*/
select user();
select version(); /*查看数据库服务器版本*/
select now(); /*当前时间*/
select sin(pi()/2); /*mysql可以作为计算器*/
连接与断开服务器。
shell> mysql -h host -u user -p /*-h指定主机地址若在本机则不需要,-u指定用户名,-p指定密码*/
Enter password: ********
...
mysql> /*表示连接mysql服务器成功*/
mysql> 提示符告诉你mysql准备为你输入命令。
shell> mysql /*本机mysql服务器没有设置用户名和密码,可以直接登陆*/
mysql>quit /*成功地连接后,输入
quit (或
\q)随时退出*/
输入查询。
如果你决定不想执行正在输入过程中的一个命令,输入
\c取消它 。
mysql> SELECT
-> USER()
-> \c
mysql>
创建并使用数据库 。
数据库只需要创建一次,但是在每次启动mysql会话时必须在使用前先选择它,使用USE语句来选择某个数据库。
mysql> CREATE DATABASE menagerie; /*创建数据库,描述动物园宠物*/
mysql> USE menagerie /*选择数据库*/
shell> mysql -h host -u user -p menagerie /*在登陆时,选择menagerie数据库*/
创建表。
首先创建记录宠物信息的表pet,表中包含:名字、主人、种类,性别、出生和死亡日期。
使用一个CREATE TABLE语句指定你的数据库表的布局:
/*VARCHAR适合于name、owner和species列,因为列值是变长的。这些列的长度不必都相同,而且不必是20。你可以挑选从1到65535的任何长度。
很显然,birth和death列应选用DATE数据类。*/
mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20), species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);
mysql> SHOW TABLES; /*此时已经创建了表pet*/
mysql> DESCRIBE pet; /*查看表定义*/
将数据载入表中。
1)使用语句将文件内容装载到表中。
你可以创建一个文本文件“pet.txt”,每行包含一个记录,用定位符(tab)把值分开,并且以CREATE TABLE语句中列出的列次序给出。对于丢失的值(例如未知的性别,或仍然活着的动物的死亡日期),你可以使用NULL值,在文件文件中使用\N(反斜线,字母N)表示。
mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet; /*将文件pet.txt装载到表pet*/
下面是文本文件内容(设置mysql日期格式为YYYY-MM-DD ):
Fluffy Harold cat f 1993-02-04 \N
Claws Gwen cat m 1994-03-17 \N
Buffy Harold dog f 1989-05-13 \N
Fang Benny dog m 1990-08-27 \N
Bowser Diane dog m 1979-08-31 1995-07-29
Chirpy Gwen bird f 1998-09-11 \N
Whistler Gwen bird \N 1997-12-09 \N
Slim Benny snake m 1996-04-29 \N
假设在Windows平台,需要指定'\r\n'为行结束符。
mysql> LOAD DATA LOCAL INFILE 'D:\\pet.txt' INTO TABLE pet LINES TERMINATED BY '\r\n';
2)使用INSERT语句插入记录到表中。最简单的形式是,提供每一列的值,其顺序与CREATE TABLE语句中列的顺序相同。
mysql> INSERT INTO pet VALUES ('Puffball',