dbbull

一、登录数据库

在此就不多叙述了,mysql安装教程

二、输入查询

这是一个简单的命令,要求服务器告诉它的版本号和当前日期。在mysql>提示输入如下命令并按回车键:

查询mysql版本号,当前日期 select version(),current_date;

  mysql> select version(),current_date;
+------------+--------------+
| version()  | current_date |
+------------+--------------+
| 5.7.17-log | 2017-06-07   |
+------------+--------------+
1 row in set (0.00 sec)

不必全在一个行内给出一个命令,较长命令可以输入到多个行中。mysql通过寻找终止分号而不是输入行的结束来决定语句在哪儿结束。(换句话说,mysql接受自由格式的输入:它收集输入行但直到看见分号才执行。)
这里是一个简单的多行语句的例子:mysql连接方式

* mysql> SELECT
    -> USER()
    -> ,
    -> CURRENT_DATE;
+---------------+--------------+
| USER()        | CURRENT_DATE |
+---------------+--------------+
| jon@localhost | 2005-10-11   |
+---------------+--------------+

如果你决定不想执行正在输入过程中的一个命令,输入/c取消它:

* mysql> SELECT
    -> USER()
    -> /c

下表显示出可以看见的各个提示符并简述它们所表示的mysql的状态:
提示符 含义
mysql> 准备好接受新命令。
-> 等待多行命令的下一行。
\'> 等待下一行,等待以单引号(“\'”)开始的字符串的结束。
"> 等待下一行,等待以双引号(“"”)开始的字符串的结束。
> 等待下一行,等待以反斜点(‘’)开始的识别符的结束。
/> 等待下一行,等待以/开始的注释的结束。


查询用户 select user();

* mysql> select user();
+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)

三、创建并使用数据库

使用SHOW语句找出服务器上当前存在什么数据库:

显示数据库 show databases;

* mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sakila             |
| sys                |
| test               |
| world              |
+--------------------+
7 rows in set (0.00 sec)

如果test数据库存在,尝试访问它:

使用数据库 use test

* mysql> use test
Database changed

创建数据库并使用 create database student; use student

* mysql> create database student;
Query OK, 1 row affected (0.01 sec)

创建数据库并不表示选定并使用它,你必须明确地操作。为了使student成为当前的数据库,使用这个命令:

* mysql> use student
Database changed

数据库只需要创建一次,但是必须在每次启动mysql会话时在使用前先选择它。你可以根据上面的例子执行一个USE语句来实现。还可以在调用mysql时,通过命令行选择数据库,只需要在提供连接参数之后指定数据库名称。例如:

* shell> mysql -h host -u user -p menagerie
Enter password: ********

四、创建表

创建数据库是很容易的部分,但是在这时它是空的,正如SHOW TABLES将告诉你的:

显示表 show tables;

* mysql> show tables;
Empty set (0.00 sec)
***

创建表

使用一个CREATE TABLE语句指定你的数据库表的布局:

* mysql> create table student(
   -> name varchar(20),
   -> age int,
   -> sex char(1),
   -> birth date,
   -> death date);
Query OK, 0 rows affected (0.07 sec)

显示表结构 describe student;

为了验证你的表是按你期望的方式创建,使用一个DESCRIBE语句:

* mysql> describe student;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| name  | varchar(20) | YES  |     | NULL    |       |
| age   | int(11)     | YES  |     | NULL    |       |
| sex   | char(1)     | YES  |     | NULL    |       |
| birth | date        | YES  |     | NULL    |       |
| death | date        | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

插入一条数据

mysql> insert into student
    -> values(\'hsy\',18,\'f\',\'1999-09-09\',null);
Query OK, 1 row affected (0.01 sec)

五、从表检索信息

查询所有数据

 mysql> select * from student;
+------+------+------+------------+-------+
| name | age  | sex  | birth      | death |
+------+------+------+------------+-------+
| hsy  |   18 | f    | 1999-09-09 | NULL  |
+------+------+------+------------+-------+
1 row in set (0.00 sec)

选择特殊行

mysql> select * from student where name=\'hsy\';
+------+------+------+------------+-------+
| name | age  | sex  | birth      | death |
+------+------+------+------------+-------+
| hsy  |   18 | f    | 1999-09-09 | NULL  |
+------+------+------+------------+-------+
1 row in set (0.00 sec)
mysql> select * from student where birth>\'1999-1-1\'and sex=\'f\';
+------+------+------+------------+-------+
| name | age  | sex  | birth      | death |
+------+------+------+------------+-------+
| hsy  |   18 | f    | 1999-09-09 | NULL  |
+------+------+------+------------+-------+
1 row in set (0.00 sec)

选择特殊列

mysql> select name from student;
+------+
| name |
+------+
| hsy  |
| hsy  |
| hsy  |
+------+
3 rows in set (0.00 sec)

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

mysql> select distinct name from student;
+------+
| name |
+------+
| hsy  |
+------+
1 row in set (0.00 sec)

分类行

mysql> select * from student order by birth;
+------+------+------+------------+------------+
| name | age  | sex  | birth      | death      |
+------+------+------+------------+------------+
| hsy  |   18 | m    | 1989-09-09 | NULL       |
| hh   |   19 | f    | 1994-03-04 | 1992-02-01 |
| hh   |   19 | f    | 1994-03-04 | 1992-02-01 |
| hh   |   29 | f    | 1994-03-04 | 1992-02-01 |
| hh   |   29 | f    | 1994-03-04 | 1992-02-01 |
| hh   |   29 | f    | 1997-03-04 | 1992-02-01 |
| hh   |   29 | f    | 1997-03-04 | 1992-02-01 |
| hrr  |   29 | f    | 1997-03-04 | 1992-02-01 |
| rrrr |   29 | f    | 1997-03-04 | 1992-02-01 |
| rrrr |   29 | 男   | 1997-03-04 | 1992-02-01 |
| rrrr |   29 | 女   | 1997-03-04 | 1992-02-01 

分类:

技术点:

相关文章:

  • 2022-01-01
  • 2021-12-10
  • 2021-07-13
  • 2022-12-23
  • 2022-12-23
  • 2021-07-13
  • 2021-11-17
猜你喜欢
  • 2021-12-02
  • 2022-12-23
  • 2022-12-23
  • 2021-11-30
  • 2021-05-06
  • 2021-12-01
相关资源
相似解决方案