保持清醒,不断思考。

Mike lucis


  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  • 联系
  •     

© 2023 Mike lucis

Theme Typography by Makito

Proudly published with Hexo

备案号: 湘ICP备2021005917号-1

友情链接: Lonely's Bolg

ღゝ◡╹)ノ♡

MySQL

发布于 2021-04-06 DataBase  MySQL 

¶ MySQL CURD


¶ 命令行基本操作

  1. 查看官方帮助:

    1
    shell> mysql --help
  2. 使用命令行连接 / 断开服务器:

    1
    shell> mysql -h* <host> -u <username> -p
    • -h 后接参数代表数据库地址 ( * 代表可忽略)

    • -u 后接参数代表登录用户名

    • -p 指使用密码登录

      若出现 mysql> 提示符则已进入MySQL交互模式,正常编写语句即可.

    1
    2
    mysql> quit
    Bye
  3. 显示当前所有数据库:

    1
    2
    3
    4
    5
    6
    7
    8
    mysql> SHOW DATABASES;
    +----------+
    | Database |
    +----------+
    | mysql |
    | test |
    | ... |
    +----------+
  4. 创建数据库:

    1
    mysql> Create Database <DataBaseName>;
  5. 选择某一指定数据库:

    1
    2
    mysql> USE test;
    Database changed

    也可以在登录时指定数据库

    1
    2
    shell> mysql -h host -u user -p menagerie
    Enter password: ********
  6. 创建表:

    使用 Create Table 语句:

    1
    2
    mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),
    species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);
    • 表创建好后,可以使用 Show Tables 查看当前数据库下的所有表
    1
    2
    3
    4
    5
    6
    mysql> SHOW TABLES;
    +---------------------+
    | Tables in menagerie |
    +---------------------+
    | pet |
    +---------------------+
    • 当然,也可以查看表的细节 Describe :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    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 | |
    +---------+-------------+------+-----+---------+-------+
    • 关于MySQL数据类型,参阅
  7. 几个例子

获得MySQL版本信息,当前系统时间:

1
2
3
4
5
6
7
mysql> SELECT VERSION(), CURRENT_DATE;
+-----------+--------------+
| VERSION() | CURRENT_DATE |
+-----------+--------------+
| 5.8.0-m17 | 2015-12-21 |
+-----------+--------------+
1 row in set (0.02 sec)
  • (关键字不区分大小写)

使用 INSERT 语句进行计算:

1
2
3
4
5
6
7
mysql> SELECT SIN(PI()/4), (4+1)*5;
+------------------+---------+
| SIN(PI()/4) | (4+1)*5 |
+------------------+---------+
| 0.70710678118655 | 25 |
+------------------+---------+
1 row in set (0.02 sec)

多行语句:

1
2
3
4
5
6
7
8
9
mysql> SELECT
-> USER()
-> ,
-> CURRENT_DATE;
+---------------+--------------+
| USER() | CURRENT_DATE |
+---------------+--------------+
| jon@localhost | 2018-08-24 |
+---------------+--------------+
  • (若想放弃此处输入,可在最后一行写入 \c 并回车)

¶ 增删改查

¶ Insert 语句

新增一条数据:

1
Insert into <TableName> value(<ValueList>) [, (<ValueList>)] ;
  • 解释: ( <变量值>, [ 可选值 ] )
    • <TableName> - 指表名
    • <FieldList> - 指字段列表
    • <ValueList> - 指值列表
    • <Cond> - 指条件表达式

给部分字段插入数据:

1
Insert into <TableName>(FieldList) value(<ValueList>) ;
  • 需要注意,字段列表出现顺序与表中字段无关,但是值列表中数据顺序必须与选定的字段的顺序一致.

一次插入多条数据:

1
2
Insert into <TableName>(<FieldList>) values(<ValueList>)
[, (<ValueList>)] ;

¶ Delete 语句

1
Delete from <TableName> where <Cond> ;
  • 注意,删除操作必须指定 Where 条件 !!! 否则整个表格都将被删除

¶ Update 语句

1
Update <TableName> set [, <FieldList> = value] where <Cond> ;
  • 注意,更改操作须指定 Where 条件 !!! 否则每一条数据都将被修改

¶ Select 语句

1
Select * / <FieldList> from <TableName> [where <Cond>] ;
  • * 为查找所有字段

¶ 高级用法

1
2
3
4
5
6
7
8
-- 此处使用 User 表:
+---------+-------------+------+---------+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+---------+---------+-------+
| ID | INT | YES | Primary | NULL | |
| NAME | VARCHAR(15) | YES | | NULL | |
| AGE | INT (500) | YES | | NULL | |
+---------+-------------+------+---------+---------+-------+

¶ 表内设置主键

创建表时设置主键:

1
2
3
4
Exp> create table User(
ID int primary key, -- 注意此处: Primary Key
NAME varchar(15),
AGE int(500));

在已有表基础上更新主键:

1
Exp> alter table User add primary key (ID); -- 注意此处: Primary Key

¶ 表内设置主键递增

1
Exp> alter table User modify ID int auto_increment; -- 注意此处: auto_increment

分享到 

 上一篇: Systemd 基础教程:命令篇 下一篇: Python-文件I/O 

© 2023 Mike lucis

Theme Typography by Makito

Proudly published with Hexo

备案号: 湘ICP备2021005917号-1

友情链接: Lonely's Bolg

ღゝ◡╹)ノ♡