连接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 distributionType '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,因为列值是变长的,可以自己选一个合适的值,如果以后发现不合适,可以使用命令 altertable更改的。
创建好表后,就可以使用命令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: 0describe 表名; 可以查看表的详细结构
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 | +----------+------------+