连接Mysql数据库 mysql -h 主机名(在本机不用输入) -u 用户名 -p 回车后会让输入密码

[root@localhost ~]# /usr/local/mysql/bin/mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.0.45-log Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

表示已经成功登陆了数据库。
/usr/local/mysql/bin/mysql -u root -padmin888
不会提示输入密码,因为密码已经指写 -p后面可以直接跟密码
/usr/local/mysql/bin/mysql -u root -padmin888 test
这个跟前一个命令不一样的就是在后面加了个test ,这个是使用用户root登陆数据库,然后使用test作为默认的数据库
select version(),current_date;
mysql> select version(),current_date;
+------------+--------------+
| version() | current_date |
+------------+--------------+
| 5.0.45-log | 2010-11-10 |
+------------+--------------+
1 row in set (0.00 sec)

mysql 命令必须以;结束 。这个命令可以看到Mysql的版本和当前的日期

select now(); 显示当前时间,比上面的详细,Mysql命令对大小写不敏感。

如果不想执行正在输入的命令,可以在输入;号这前回车,然后输入\c进行取消

mysql的提示符正常情况下是 mysql> 如果变成->说明Mysql在等待命令的结束,必须输入;号,命令才能结束,如果变成'>说明命令

中的字段以'号开始,但是没有以'结束,这时候要输入'\c才能取消命令。同样还可能出现">提示符,`>提示符,意思同上。

退出Mysql 输入命令quit,可以不用以;结束命令

 

显示当前mysql 上都有哪些数据库 show databases;

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| a123 |
| abcde |
| ecshop |
| mysql |
| shop |
| test |
+--------------------+
7 rows in set (0.00 sec)

要注意的是这里是database的复数形式,后面有个s,不然会报错的。

要访问某个数据库,可以使用命令 use 数据库名 命令结束不用加;号,当然,也可以加上的。会提示数据库已经更改。

mysql> use test
Database changed
创建数据库 create database 数据库名;
mysql> create database admin;
Query OK, 1 row affected (0.00 sec)
创建好数据库就可以使用了,命令上面已经给出use 就可以了
查看数据库里都有哪些表,show tables; 这里也是表的复数,要注意。
mysql> show tables;
Empty set (0.00 sec)
创建一个表 create table 表名(字段名1 字符类型(20),字段2 字符类型 (20));
mysql> create table pet (name varchar(20),owner varchar(20),species varchar(20),sex char(1),birth date, death date);
Query OK, 0 rows affected (0.01 sec)
varchar适合于name,owner,species,因为列值是变长的,可以自己选一个合适的值,如果以后发现不合适,可以使用命令 alter

table更改的。

创建好表后,就可以使用命令show tables;看了
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| pet |
+----------------+
1 row in set (0.00 sec)
create table lhw select * from pet;
这个命令会把select * from pet的内容导入到新生成的表lhw这个表里面
mysql> create table lhw select * from pet;
Query OK, 5 rows affected (0.02 sec)
Records: 5 Duplicates: 0 Warnings: 0

describe 表名; 可以查看表的详细结构

mysql> describe pet;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| owner | varchar(20) | YES | | NULL | |
| species | varchar(20) | YES | | NULL | |
| sex | char(1) | YES | | NULL | |
| birth | date | YES | | NULL | |
| death | date | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
6 rows in set (0.06 sec)
describe中文意思是描述的意思,这条命令就是说,描述一下这个表,都有些什么东西。 这样就容易理解了

表创建好之后,需要填入内容。可以通过 load data 和 insert语句完成该任务。

因为你是从一个空表开始的,填充它的一个简易方法是创建一个文本文件,每个动物各一行,然后用一个语句将文件的内容装

载到表中。

你可以创建一个文本文件“pet.txt”,每行包含一个记录,用定位符(tab)把值分开,并且以CREATE TABLE语句中列出的列次

序给出。对于丢失的值(例如未知的性别,或仍然活着的动物的死亡日期),你可以使用NULL值。为了在你的文本文件中表示这

些内容,使用\N(反斜线,字母N).

mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet;
Load date相当于是数据的导入,如果要增加一条记录,可以使用inster into语句

mysql> insert into pet

-> values ('puffball','Dinae','hamster','f','2000-08-09',null);
Query OK, 1 row affected (0.03 sec)

mysql> select * from pet;

+----------+-------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+----------+-------+---------+------+------------+-------+
| puffball | Dinae | hamster | f | 2000-08-09 | NULL |
+----------+-------+---------+------+------------+-------+
1 row in set (0.00 sec)

如果遇到有数据要更改,可以使用update语句

用一个UPDATE语句仅修正错误记录:
mysql> UPDATE pet SET birth = '1989-08-31' WHERE name = 'Bowser';

请注意该查询只是简单地检索每个记录的owner列,并且他们中的一些出现多次。为了使输出减到最少,增加关键字DISTINCT

检索出每个唯一的输出记录:

mysql> SELECT DISTINCT owner FROM pet;

排序:你可能已经注意到前面的例子中结果行没有以特定的顺序显示。然而,当行按某种方式排序时,检查查询输出通常更容

易。为了排序结果,使用ORDER BY子句。

这里是动物生日,按日期排序:

mysql> SELECT name, birth FROM pet ORDER BY birth;

+----------+------------+
| name | birth |
+----------+------------+
| Buffy | 1989-05-13 |
| Bowser | 1989-08-31 |
| Fang | 1990-08-27 |
| Fluffy | 1993-02-04 |
| Claws | 1994-03-17 |
| Slim | 1996-04-29 |
| Whistler | 1997-12-09 |
| Chirpy | 1998-09-11 |
| Puffball | 1999-03-30 |
+----------+------------+
默认排序是升序,最小的值在第一。要想以降序排序,在你正在排序的列名上增加DESC(降序 )关键字:

mysql> SELECT name, birth FROM pet ORDER BY birth DESC;

+----------+------------+
| name | birth |
+----------+------------+
| Puffball | 1999-03-30 |
| Chirpy | 1998-09-11 |
| Whistler | 1997-12-09 |
| Slim | 1996-04-29 |
| Claws | 1994-03-17 |
| Fluffy | 1993-02-04 |
| Fang | 1990-08-27 |
| Bowser | 1989-08-31 |
| Buffy | 1989-05-13 |
+----------+------------+