¶ MySQL CURD
¶ 命令行基本操作
-
查看官方帮助:
1
mysql --help
-
使用命令行连接 / 断开服务器:
1
mysql -h* <host> -u <username> -p
-
-h
后接参数代表数据库地址 ( * 代表可忽略) -
-u
后接参数代表登录用户名 -
-p
指使用密码登录若出现
mysql>
提示符则已进入MySQL交互模式,正常编写语句即可.
1
2mysql> quit
Bye -
-
显示当前所有数据库:
1
2
3
4
5
6
7
8mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql |
| test |
| ... |
+----------+ -
创建数据库:
1
mysql> Create Database <DataBaseName>;
-
选择某一指定数据库:
1
2mysql> USE test;
Database changed也可以在登录时指定数据库
1
2shell> mysql -h host -u user -p menagerie
Enter password: ******** -
创建表:
使用
Create Table
语句:1
2mysql> 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
6mysql> SHOW TABLES;
+---------------------+
| Tables in menagerie |
+---------------------+
| pet |
+---------------------+- 当然,也可以查看表的细节
Describe
:
1
2
3
4
5
6
7
8
9
10
11mysql> 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数据类型,参阅
- 表创建好后,可以使用
-
几个例子
获得MySQL版本信息,当前系统时间:
1 | mysql> SELECT VERSION(), CURRENT_DATE; |
- (关键字不区分大小写)
使用 INSERT
语句进行计算:
1 | mysql> SELECT SIN(PI()/4), (4+1)*5; |
多行语句:
1 | mysql> SELECT |
- (若想放弃此处输入,可在最后一行写入
\c
并回车)
¶ 增删改查
¶ Insert 语句
新增一条数据:
1 | Insert into <TableName> value(<ValueList>) [, (<ValueList>)] ; |
- 解释: ( <变量值>, [ 可选值 ] )
<TableName>
- 指表名<FieldList>
- 指字段列表<ValueList>
- 指值列表<Cond>
- 指条件表达式
给部分字段插入数据:
1 | Insert into <TableName>(FieldList) value(<ValueList>) ; |
- 需要注意,字段列表出现顺序与表中字段无关,但是值列表中数据顺序必须与选定的字段的顺序一致.
一次插入多条数据:
1 | Insert into <TableName>(<FieldList>) values(<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 | -- 此处使用 User 表: |
¶ 表内设置主键
创建表时设置主键:
1 | Exp> create table User( |
在已有表基础上更新主键:
1 | Exp> alter table User add primary key (ID); -- 注意此处: Primary Key |
¶ 表内设置主键递增
1 | Exp> alter table User modify ID int auto_increment; -- 注意此处: auto_increment |