MySQL命令行初学者基本操作

  • 连接MySQL
  • 显示数据库
  • 创建数据库
  • 为新建立数据库建表
  • 显示当前数据库(testli)的表
  • 查询当前数据库数据
  • 往表里添加数据及其显示
  • 修改表中某个数据
  • 删除某一行数据


连接MySQL

C:\Users\dell>mysql -u root -p

然后输入密码即可
如果输入密码命令行窗口自动退出的话,应该是mysql没有启动,有两种方法,一种是直接在命令行输入 net start mysql(mysql要根据具体版本来键入),另一种是到管理窗口里面的服务去找到mysql并右键启动即可)

显示数据库

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)

此命令会显示MySQL已有的数据库名称

创建数据库

mysql> create database testli;
Query OK, 1 row affected (0.07 sec)

此命令创建名为testli的数据库

为新建立数据库建表

mysql> use testli;
Database changed
mysql> create table student(
    -> 学号 char(8) primary key,
    -> 姓名 char(8),
    -> 性别 char(2),
    -> 出生年份 smallint,
    -> 籍贯 char(8),
    -> 学院 char(15));
Query OK, 0 rows affected (1.06 sec)
mysql>  create table course(
    -> 课程号 char(8) not null unique,
    -> 课程名 char(15),
    -> 学时 smallint,
    -> 开课学期 char(4),
    -> 课程性质 char(15),
    -> primary key(课程号));
Query OK, 0 rows affected (0.39 sec)
mysql> create table study(
    -> 学号 char(8),
    -> 课程号 char(8),
    -> 成绩 smallint,
    -> primary key(学号,课程号));
Query OK, 0 rows affected (0.21 sec)

在建表时要表明是哪个数据库对象(即 use 数据库名称)

显示当前数据库(testli)的表

mysql> show tables;
+------------------+
| Tables_in_testli |
+------------------+
| course           |
| student          |
| study            |
+------------------+
3 rows in set (0.09 sec)

此命令显示当前数据库liquan的表名称

查询当前数据库数据

select 学号,姓名,性别,籍贯,学院,年龄 from student;
mysql> select 学号,姓名,性别,籍贯,学院,年龄 from student;
Empty set (0.00 sec)

语法 select 属性名称,、、、 from 表名;
(此处还未添加数据,后面会提到)

往表里添加数据及其显示

mysql> insert into student values('20199999','张三','男','2001','湖南','信息与工程学院','20');
Query OK, 1 row affected (0.05 sec)

mysql> select 学号,姓名,性别,籍贯,学院,年龄 from student;
+----------+------+------+------+----------------+------+
| 学号     | 姓名 | 性别 | 籍贯 | 学院           | 年龄 |
+----------+------+------+------+----------------+------+
| 20199999 | 张三 | 男   | 湖南 | 信息与工程学院 |   20 |
+----------+------+------+------+----------------+------+
1 row in set (0.00 sec)
mysql> insert into student values('20199876','李芳','女','2002','湖北','语言文化学院','19');
Query OK, 1 row affected (0.04 sec)

mysql> select 学号,姓名,性别,籍贯,学院,年龄 from student;
+----------+------+------+------+----------------+------+
| 学号     | 姓名 | 性别 | 籍贯 | 学院           | 年龄 |
+----------+------+------+------+----------------+------+
| 20199876 | 李芳 | 女   | 湖北 | 语言文化学院   |   19 |
| 20199999 | 张三 | 男   | 湖南 | 信息与工程学院 |   20 |
+----------+------+------+------+----------------+------+
2 rows in set (0.04 sec)

mysql> insert into course values('00000001','数据库应用','48','0321','必修');
Query OK, 1 row affected (0.05 sec)

mysql> select 课程号,课程名,学时,开课学期,课程性质 from course;
+----------+------------+------+----------+----------+
| 课程号   | 课程名     | 学时 | 开课学期 | 课程性质 |
+----------+------------+------+----------+----------+
| 00000001 | 数据库应用 |   48 | 0321     | 必修     |
+----------+------------+------+----------+----------+
1 row in set (0.00 sec)

mysql> insert into study values('20199999','00000001','98');
Query OK, 1 row affected (0.06 sec)

mysql> select 学号,课程号,成绩 from study;
+----------+----------+------+
| 学号     | 课程号   | 成绩 |
+----------+----------+------+
| 20199999 | 00000001 |   98 |
+----------+----------+------+

语法:insert into 表名 values(相关数据); (字符型需要打’ ')

修改表中某个数据

mysql> update student set 年龄='21' where 学号=20199999;
Query OK, 1 row affected (0.15 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select 学号,姓名,性别,籍贯,学院,年龄 from student;
+----------+------+------+------+----------------+------+
| 学号     | 姓名 | 性别 | 籍贯 | 学院           | 年龄 |
+----------+------+------+------+----------------+------+
| 20199876 | 李芳 | 女   | 湖北 | 语言文化学院   |   19 |
| 20199999 | 张三 | 男   | 湖南 | 信息与工程学院 |   21 |
+----------+------+------+------+----------------+------+
2 rows in set (0.00 sec)

语法:update 表名 set 字段=新值,… where 条件

删除某一行数据

mysql> delete from student where 学号=20199999;
Query OK, 1 row affected (0.06 sec)

mysql>  select 学号,姓名,性别,籍贯,学院,年龄 from student;
+----------+------+------+------+--------------+------+
| 学号     | 姓名 | 性别 | 籍贯 | 学院         | 年龄 |
+----------+------+------+------+--------------+------+
| 20199876 | 李芳 | 女   | 湖北 | 语言文化学院 |   19 |
+----------+------+------+------+--------------+------+
1 row in set (0.00 sec)

语法:delete from 表名 where 主键=id;