Mysql4.1.10初级解读

来源:互联网 发布:spyder导入excel数据 编辑:程序博客网 时间:2024/05/21 16:26

Mysql4.1.10初级解读

※※※※※※※※※※※※※※Mysql 初级解读 (所用版本:4.1.10)※※※※※※※※※※※※※※

安装注意事项
在安装的过程中,请记好您的密码,这是将来登录mysql的钥匙。


=======================无==敌==分==割==线=======================

一、Mysql数据库服务器登录

登录mysql需要切换到dos下的mysql的bin目录,进行如下操作:

语法格式:mysql -h host_name -u user_name -p password   (本机的话-h 和host_name可省)

----------------------我------------割--------------------------

  My Experience:

  C:/program files/mysql/mysql server 4.1/bin>mysql -u root -p
  Enter password:******
  先输入用户名和密码登陆要求(加上-p),回车后等出现"Enter password:",再输入密码回车,这样就可以
成功登陆mysql,否则将会登陆失败。

----------------------我------------割--------------------------

  登陆成功后会显示如下信息:

  Welcome to the MySQL monitor. Commands end with ; or /g.
  Your MySQL connection id is 1 to server version: 4.1.10-nt

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

  mysql>


  标识"mysql>",当你看到这个出现在窗口的最左边的顶格时,这就是告诉你,你可以输入命令进行操作了。

        mysql> /s 查看版本信息
mysql> /q or mysql> quit 退出mysql数据库服务器
mysql> /h or mysql> help 查看帮助(其他的数据库服务器相关命令)

 

=======================无==敌==分==割==线=======================


二、数据库操作

  所要注意的是,所有举例的显示结果,均为下面操作步骤按顺序进行的结果。


----------------------我------------割--------------------------

2.1 查询语句

2.1.1 查看Mysql数据库的版本号和服务器的当前日期
    mysql> select version(),current_date;   (操作方式一)

    mysql> select version()
      -> ,current_date;             (操作方式二)

    ※:操作语句间用","隔开,用";"来表示操作结束,操作语句输入过程中,换行不影响操作过程。

2.1.2 查看服务器中的所有数据库
    mysql> show databases;

----------------------我------------割--------------------------

2.2 创建数据库

2.2.1 创建数据库(当然,数据库名"asb"不能是已经存在的)
    mysql> create database asb;

2.2.2 选用数据库,使其成为当前操作的数据库
    mysql> use asb;

    成功选中后会有如下显示:
    Database changed

    甚至可以在窗口命令登陆mysql数据库的时候直接选中要操作的数据库(当然前提是asb数据库存在)
    bin>mysql asb -u uesername -p
    Enter password:******

2.2.3 查看当前所操作的数据库名称
    mysql> select database();

    运行后结果如下:
    +------------+
    | database() |
    +------------+
    | asb     |
    +------------+
    1 row in set (0.00 sec)

----------------------我------------割--------------------------

2.3 创建表

2.3.1 用"create table"创建表(确认是要在当前数据库中创建,不是的话就先用'use'选中要创建表的那个数据库)

    mysql> create table emp(emp_id varchar(6)
      -> ,emp_name varchar(10)
      -> ,emp_age int
      -> ,emp-sal int
      -> ,emp_bir date
      -> ,emp_sex varchar(5)
      -> );

2.3.2 查看当前数据库中的表(可以检验上例的"emp"表是否成功建立)
    mysql> show tables;

    如果是成功将是如下显示:

    +---------------+
    | Tables_in_asb |
    +---------------+
    | emp       |
    +---------------+
    1 row in set (0.00 sec)

2.3.3 查看数据表的结构
    mysql> describe emp;

    运行后结果会如如下显示:

    +----------+-------------+------+-----+---------+-------+
    | Field   | Type     | Null | Key | Default | Extra |
    +----------+-------------+------+-----+---------+-------+
    | emp_id   | varchar(6) | YES |   | NULL   |     |
    | emp_name | varchar(10) | YES |   | NULL   |     |
    | emp_age | int(11)   | YES |   | NULL   |     |
    | emp_sal | int(11)   | YES |   | NULL   |     |
    | emp_bir | date     | YES |   | NULL   |     |
    | emp_sex | varchar(5) | YES |   | NULL   |     |
    +----------+-------------+------+-----+---------+-------+

----------------------我------------割--------------------------

2.4 插入数据

2.4.1 使用INSERT语句进行插入记录操作(数据库表中每一行就是一个记录,插入记录实际上就是向表中插入一行)

    格式:INSERT INTO table_name(数据表名) VALUES(值1,值2,值3...);

    在VALUES关键字后括号中的数值和字符段,必须和你所建的表所定义的字段数据类型必须一致!

    mysql> insert into emp values
      -> ('100005','啸天',27,3000,'1979-07-10','male');

    插入成功后会有如下信息显示:
    Query OK, 1 row affected (0.03 sec)


2.4.2 查看表中的数据(可以确定数据是否已经成功插入)
    mysql> select * from emp;

    成功插入后的数据显示如下:

    +--------+----------+---------+---------+------------+---------+
    | emp_id | emp_name | emp_age | emp_sal | emp_bir   | emp_sex |
    +--------+----------+---------+---------+------------+---------+
    | 100005 | 啸天   |     27 |   3000 | 1979-07-10 | male   |
    +--------+----------+---------+---------+------------+---------+
    1 row in set (0.00 sec)

    一次性插入多行的格式:INSERT INTO table_name(数据表名) VALUES(值1,值2,值3...),(值1,值2,值3...);

    mysql> insert into emp values
      -> ('100001','红枫',29,8000,'1977-01-01','male'),
      -> ('100002','丽鹃',27,7000,'1979-12-31','fmale');

    可以查看插入后的数据结果:

    +--------+----------+---------+---------+------------+---------+
    | emp_id | emp_name | emp_age | emp_sal | emp_bir   | emp_sex |
    +--------+----------+---------+---------+------------+---------+
    | 100005 | 啸天   |     27 |   3000 | 1979-07-10 | male   |
    | 100004 | 红枫   |     29 |   8000 | 1977-01-01 | male   |
    | 100002 | 丽鹃   |     27 |   7000 | 1979-12-31 | fmale   |
    +--------+----------+---------+---------+------------+---------+
    3 rows in set (0.00 sec)


----------------------我------------割--------------------------

2.5 修改数据

2.5.1 使用UPDATE语句来更新表中的数据
    mysql> update emp set emp_id=100001 where emp_name='红枫';

    修改结果显示如下:

    +--------+----------+---------+---------+------------+---------+
    | emp_id | emp_name | emp_age | emp_sal | emp_bir   | emp_sex |
    +--------+----------+---------+---------+------------+---------+
    | 100005 | 啸天   |     27 |   3000 | 1979-07-10 | male   |
    | 100001 | 红枫   |     29 |   8000 | 1977-01-01 | male   |
    | 100002 | 丽鹃   |     27 |   7000 | 1979-12-31 | fmale   |
    +--------+----------+---------+---------+------------+---------+
    3 rows in set (0.00 sec)

    如果该语句没有后面的where限制,将会对表中所有的记录都进行修改。
    如,给全部人加薪1000,可以如下修改:
    mysql> update emp set emp_sal=emp_sal+1000;

    修改结果显示如下:

    +--------+----------+---------+---------+------------+---------+
    | emp_id | emp_name | emp_age | emp_sal | emp_bir   | emp_sex |
    +--------+----------+---------+---------+------------+---------+
    | 100005 | 啸天   |     27 |   4000 | 1979-07-10 | male   |
    | 100001 | 红枫   |     29 |   9000 | 1977-01-01 | male   |
    | 100002 | 丽鹃   |     27 |   8000 | 1979-12-31 | fmale   |
    +--------+----------+---------+---------+------------+---------+
    3 rows in set (0.00 sec)

----------------------我------------割--------------------------

2.6 高级查询方法

2.6.1 记录查询

    查询emp表中,emp_name为啸天的全部信息
    mysql> select * from emp where emp_name='啸天';

    查询结果显示如下:
    +--------+----------+---------+---------+------------+---------+
    | emp_id | emp_name | emp_age | emp_sal | emp_bir   | emp_sex |
    +--------+----------+---------+---------+------------+---------+
    | 100005 | 啸天   |     27 |   4000 | 1979-07-10 | male   |
    +--------+----------+---------+---------+------------+---------+
    1 row in set (0.00 sec)

    查询emp表中,emp_sal,工资在5000以上的全部信息
    mysql> select * from emp where emp_sal>5000;

    查询结果显示如下:
    +--------+----------+---------+---------+------------+---------+
    | emp_id | emp_name | emp_age | emp_sal | emp_bir   | emp_sex |
    +--------+----------+---------+---------+------------+---------+
    | 100001 | 红枫   |     29 |   9000 | 1977-01-01 | male   |
    | 100002 | 丽鹃   |     27 |   8000 | 1979-12-31 | fmale   |
    +--------+------