数据库概论_命令行语法练习

命令行语法练习

打开命令提示符

  • win+r 打开运行窗口
  • 输入cmd,回车即可打开命令提示符

开启数据库

  • 输入net start mysql,开启数据库

MySQL_数据库的基本语法

登录数据库

  • 首先输入mysql -uroot -p,回车则提示Enter password:即输入登录密码
  • 登陆成功,则命令行会变成mysql>; 此时即可对数据库进行操作。

创建一个新的数据库

  • create database 库名称;
  • create database if not exists 库名称;

删除某个数据库

  • drop database 库名称;
  • drop database if exists 库名称;

查看MySQL中的所有数据库

  • show databases;

查看数据库的创建方式

  • show create database 库名称;

对某个数据库进行操作

  • 输入use 库名称;回车,提示Database changed表示进入成功

查看某个库里的所有表信息

  • show tables from 库名称;

MySQL_数据库表的基本语法

查看某个表中的所有信息
  • select * from 库名称.表名称;
  • 进入某个库中之后可以直接使用select * from 表名称;

在库中创建一个新的表

  • create table 表名称(列名称 限定,列名称 限定,...) engine=innodb default charset utf8 comment '用户表';
  • create table if not exists 表名称(列名称 限定,列名称 限定,...) engine=innodb default charset utf8 comment '用户表';

示例:创建一个表,表明为tb_users,表的结构包括(idnamesexbirthsalary)。

create table if not exists tb_users(
	id int primary key auto_increment,
	name varchar(20),
	sex boolean default 1,
	birth date,
	salary double(10,2)
)engine=innodb default charset utf8 comment'用户表';

查看当前数据库下的所有表

  • show tables;

结果如下:

+------------------+
| Tables_in_people |
+------------------+
| tb_users         |
+------------------+

查看创建好的表的结构

  • desc 表名称;

示例结果如下:

mysql> desc tb_users;
+--------+--------------+------+-----+---------+----------------+
| Field  | Type         | Null | Key | Default | Extra          |
+--------+--------------+------+-----+---------+----------------+
| id     | int(11)      | NO   | PRI | NULL    | auto_increment |
| name   | varchar(20)  | YES  |     | NULL    |                |
| sex    | tinyint(1)   | YES  |     | 1       |                |
| birth  | date         | YES  |     | NULL    |                |
| salary | double(10,2) | YES  |     | NULL    |                |
+--------+--------------+------+-----+---------+----------------+

修改表的结构

  • alter table 表名 change 旧字段名称 新的字段名称和描述;

示例如下:

mysql> alter table tb_users change salary salary double(8,2);

修改前:
+--------+--------------+------+-----+---------+----------------+
| Field  | Type         | Null | Key | Default | Extra          |
+--------+--------------+------+-----+---------+----------------+
| id     | int(11)      | NO   | PRI | NULL    | auto_increment |
| name   | varchar(20)  | YES  |     | NULL    |                |
| sex    | tinyint(1)   | YES  |     | 1       |                |
| birth  | date         | YES  |     | NULL    |                |
| salary | double(10,2) | YES  |     | NULL    |                |
+--------+--------------+------+-----+---------+----------------+

修改后:
+--------+-------------+------+-----+---------+----------------+
| Field  | Type        | Null | Key | Default | Extra          |
+--------+-------------+------+-----+---------+----------------+
| id     | int(11)     | NO   | PRI | NULL    | auto_increment |
| name   | varchar(20) | YES  |     | NULL    |                |
| sex    | tinyint(1)  | YES  |     | 1       |                |
| birth  | date        | YES  |     | NULL    |                |
| salary | double(8,2) | YES  |     | NULL    |                |
+--------+-------------+------+-----+---------+----------------+
  • alter table 表名 modify 字段名称 新字段描述;

示例如下:

mysql> alter table tb_users modify name varchar(30);

修改前:
+--------+-------------+------+-----+---------+----------------+
| Field  | Type        | Null | Key | Default | Extra          |
+--------+-------------+------+-----+---------+----------------+
| id     | int(11)     | NO   | PRI | NULL    | auto_increment |
| name   | varchar(20) | YES  |     | NULL    |                |
| sex    | tinyint(1)  | YES  |     | 1       |                |
| birth  | date        | YES  |     | NULL    |                |
| salary | double(8,2) | YES  |     | NULL    |                |
+--------+-------------+------+-----+---------+----------------+

修改后:
+--------+-------------+------+-----+---------+----------------+
| Field  | Type        | Null | Key | Default | Extra          |
+--------+-------------+------+-----+---------+----------------+
| id     | int(11)     | NO   | PRI | NULL    | auto_increment |
| name   | varchar(30) | YES  |     | NULL    |                |
| sex    | tinyint(1)  | YES  |     | 1       |                |
| birth  | date        | YES  |     | NULL    |                |
| salary | double(8,2) | YES  |     | NULL    |                |
+--------+-------------+------+-----+---------+----------------+
  • alter table <表名> add <新字段名><数据类型>[约束条件];

给表中添加数据

  • insert into 表名称 value(字段值1,字段值2,字段值3...);

示例如下:

mysql> insert into tb_users value(1,'张三',1,'2022-10-01',999.99);

添加后:
mysql> select * from tb_users;
+----+------+------+------------+--------+
| id | name | sex  | birth      | salary |
+----+------+------+------------+--------+
|  1 | 张三 |    1 | 2022-10-01 | 999.99 |
+----+------+------+------------+--------+
  • insert into 表名称(字段名1,字段名2,字段名3...) values(字段值1,字段值2,字段值3...);

示例如下:

mysql> insert into tb_users(name,salary) values('李四',888.88);

结果如下:
mysql> select * from tb_users;
+----+------+------+------------+--------+
| id | name | sex  | birth      | salary |
+----+------+------+------------+--------+
|  1 | 张三 |    1 | 2022-10-01 | 999.99 |
|  2 | 李四 |    1 | NULL       | 888.88 |
+----+------+------+------------+--------+

修改表中的数据

  • update 表名称 set 字段名=字段值 where 条件;

示例如下:

mysql> update tb_users set salary=777.77 where id=2;

修改前:
mysql> select * from tb_users;
+----+------+------+------------+--------+
| id | name | sex  | birth      | salary |
+----+------+------+------------+--------+
|  1 | 张三 |    1 | 2022-10-01 | 999.99 |
|  2 | 李四 |    1 | NULL       | 888.88 |
+----+------+------+------------+--------+

修改后:
mysql> select * from tb_users;
+----+------+------+------------+--------+
| id | name | sex  | birth      | salary |
+----+------+------+------------+--------+
|  1 | 张三 |    1 | 2022-10-01 | 999.99 |
|  2 | 李四 |    1 | NULL       | 777.77 |
+----+------+------+------------+--------+
  • update 表名称 set 字段名1=字段值1,字段名2=字段值2,字段名3=字段值3... where 条件;

示例如下:

mysql> update tb_users set name='王五',birth='2022-02-02',salary=888.88 where id=2;

修改前:
mysql> select * from tb_users;
+----+------+------+------------+--------+
| id | name | sex  | birth      | salary |
+----+------+------+------------+--------+
|  1 | 张三 |    1 | 2022-10-01 | 999.99 |
|  2 | 李四 |    1 | NULL       | 777.77 |
+----+------+------+------------+--------+

修改后:
mysql> select * from tb_users;
+----+------+------+------------+--------+
| id | name | sex  | birth      | salary |
+----+------+------+------------+--------+
|  1 | 张三 |    1 | 2022-10-01 | 999.99 |
|  2 | 王五 |    1 | 2022-02-02 | 888.88 |
+----+------+------+------------+--------+

删除表中的某一行数据

  • delete from 表名 where 条件;

示例如下:

mysql> delete from tb_users where id=2;

删除前:
mysql> select * from tb_users;
+----+------+------+------------+--------+
| id | name | sex  | birth      | salary |
+----+------+------+------------+--------+
|  1 | 张三 |    1 | 2022-10-01 | 999.99 |
|  2 | 王五 |    1 | 2022-02-02 | 888.88 |
+----+------+------+------------+--------+

删除后:
mysql> select * from tb_users;
+----+------+------+------------+--------+
| id | name | sex  | birth      | salary |
+----+------+------+------------+--------+
|  1 | 张三 |    1 | 2022-10-01 | 999.99 |
+----+------+------+------------+--------+

查询表中的数据

  • 查询表中的所有数据select * from 表名称;

示例如下:

mysql> select * from tb_users;
+----+------+------+------------+--------+
| id | name | sex  | birth      | salary |
+----+------+------+------------+--------+
|  1 | 张三 |    1 | 2022-10-01 | 999.99 |
|  3 | 李四 |    1 | 2022-02-02 | 888.88 |
|  4 | 王五 |    1 | 2022-01-01 | 777.77 |
+----+------+------+------------+--------+
  • 查询指定字段名称的数据select 字段名1,字段名2,字段名3... from 表名称;

示例如下:

mysql> select name,birth,salary from tb_users;
+------+------------+--------+
| name | birth      | salary |
+------+------------+--------+
| 张三 | 2022-10-01 | 999.99 |
| 李四 | 2022-02-02 | 888.88 |
| 王五 | 2022-01-01 | 777.77 |
+------+------------+--------+

mysql> select name from tb_users;
+------+
| name |
+------+
| 张三 |
| 李四 |
| 王五 |
+------+
  • 查询指定字段名且符合条件的所有数据select * from 表名称 where 条件;

示例如下:

查询工资再8001000的表中所有的信息:

mysql> select * from tb_users where salary between 800 and 1000;
+----+------+------+------------+--------+
| id | name | sex  | birth      | salary |
+----+------+------+------------+--------+
|  1 | 张三 |    1 | 2022-10-01 | 999.99 |
|  3 | 李四 |    1 | 2022-02-02 | 888.88 |
+----+------+------+------------+--------+

猜你喜欢

转载自blog.csdn.net/qq_39756007/article/details/126985783