mysql 的sql命令_MySQL-基本sql命令

关于环境的搭建和数据库的连接,我直接跳过,假设电脑上已经安装好了MySQL的环境,接下来直接进行数据库的操作:(虽然数据库不区分大小写,但是本文约定:命令用大写,用户变量和字段用小写)

1、创建数据库:

CREATE DATABASE test;

注意:此处是DATABASE ,而不是DATABASES。回车后运行结果如下:

Query OK, 1 row affected

这就说明名字为test的数据库创建好了。接下来我们就查看到底有没有创建好:

2、查看数据库:

SHOW DATABASES;

注意:此处是DATABASES,而不是DATABASE,因为你查看的结果是多个数据库,所以是复数。回车运行后结果如下:

+--------------------+

| Database |

+--------------------+

| information_schema |

| customers |

| mysql |

| performance_schema |

| sakila |

| sys |

| test |

| world |

+--------------------+

8 rows in set

里面有我们刚才创建好的test,这说明创建数据库成功。接下来就要使用这个数据库:

3、使用数据库:

USE test;

结果为:

Database changed

这时候我们就可以在数据库test中创建表了:

4、创建表:假设要创建一个学生成绩的表,需要有学生学号,姓名,数学成绩,英语成绩,居住城市这几个字段,其中学生学号为主键且递增,

CREATE TABLE student(id smallint(6) primary key auto_increment,name char(20),math smallint(6),english smallint(6),city char(20));

其中id,name,math,english分别为四个四段,而smallint,char分别为数据类型,primary key是说id是主键,auto_increment是说id是自动增加的(约束集)

回车后返回信息为:

Query OK, 0 rows affected

接下来我们想看看这个表建好了,那它到底是个什么结构,也就是查看表结构:

5、查看表结构:

DESC student;

回车后返回信息为:

+---------+-------------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+---------+-------------+------+-----+---------+----------------+

| id | smallint(6) | NO | PRI | NULL | auto_increment |

| name | char(20) | YES | | NULL | |

| math | smallint(6) | YES | | NULL | |

| english | smallint(6) | YES | | NULL | |

| city | char(20) | YES | | NULL | |

+---------+-------------+------+-----+---------+----------------+

5 rows in set

查看表的结构还有另一种方法:

SHOW COLUMNS FROM student;

回车后结果为:

+---------+-------------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+---------+-------------+------+-----+---------+----------------+

| id | smallint(6) | NO | PRI | NULL | auto_increment |

| name | char(20) | YES | | NULL | |

| math | smallint(6) | YES | | NULL | |

| english | smallint(6) | YES | | NULL | |

| city | char(20) | YES | | NULL | |

+---------+-------------+------+-----+---------+----------------+

5 rows in set

注意:DESC相当于SHOW COLUMNS的一种快捷方式。以上结果说明我们的table 也就是表student建好了。但是现在里面是没有东西的,也就是现在只是一张空表,所以我们需要添加数据进去:

6、插入数据:

INSERT INTO student(name,math,english,city) VALUES('zhangsan',90,89,'guangzhou');

返回结果为:

Query OK, 1 row affected

证明已经把这一行数据添加进去了,那么究竟有没有进去,我们查询一下就知道了:

7、查询:

SELECT * FROM student;

上面这就的意思是查询符合*条件的记录,*是通配符,能代替所有字符,所有使用上面这句查询出来的是所有记录。结果如下:

+----+----------+------+---------+-----------+

| id | name | math | english | city |

+----+----------+------+---------+-----------+

| 1 | zhangsan | 90 | 89 | guangzhou |

+----+----------+------+---------+-----------+

1 row in set

也就是只有一行记录在student这个表中,就是我们第6步插入的数据。接下来我们要插入多行数据,因为一个班级里有很多人,不只是zhangsan一个人:

8、插入多个记录:

INSERT INTO student(name,math,english,city) VALUES('zhangsan',90,89,'guangzhou'), ('lisi',78,98,'beijing');

以上代码一次向表中插入了两行记录,其中两行记录之间要用逗号分开回车后图示如下:

Query OK, 2rows affected

Records:2 Duplicates: 0 Warnings: 0

现在我们再执行一次查询:

9、查询:

SELECT * FROM student;

结果如下:

+----+----------+------+---------+-----------+

| id | name | math | english | city |

+----+----------+------+---------+-----------+

| 1 | zhangsan | 90 | 89 | guangzhou |

| 2 | zhangsan | 90 | 89 | guangzhou |

| 3 | lisi | 78 | 98 | beijing |

+----+----------+------+---------+-----------+

3 rows in set

说明两行记录插进去了,接下来再插入几行:

+----+----------+------+---------+-----------+

| id | name | math | english | city |

+----+----------+------+---------+-----------+

| 1 | zhangsan | 90 | 89 | guangzhou |

| 2 | liwu | 90 | 89 | guangzhou |

| 3 | lisi | 78 | 98 | beijing |

| 4 | wangwo | 9 | 43 | dalian |

| 5 | maqi | 89 | 67 | shanghai |

| 6 | sudong | 78 | 54 | dalian |

| 7 | liuqian | 67 | 91 | dalian |

| 8 | jiance | 59 | 61 | beijing |

+----+----------+------+---------+-----------+

8 rows in set

现在student这个表中总共有8条记录,那么我们想查询城市是北京的学生的成绩应该怎么查呢?

10、条件查询:

SELECT * FROM student WHERE City ='beijing';

查询结果为:

+----+--------+------+---------+---------+

| id | name | math | english | city |

+----+--------+------+---------+---------+

| 3 | lisi | 78 | 98 | beijing |

| 8 | jiance | 59 | 61 | beijing |

+----+--------+------+---------+---------+

2 rows in set

说明学号为3和为8的学生城市是北京的。

现在要删除学号为3的学生的记录:

11、删除记录

DELETE FROM student WHERE ID =3;

回车后提示如下:

Query OK, 1 row affected

接下来我们使用第10步的查询语句进行查询,结果为:

+----+--------+------+---------+---------+

| id | name | math | english | city |

+----+--------+------+---------+---------+

| 8 | jiance | 59 | 61 | beijing |

+----+--------+------+---------+---------+

1 row in set

说明原来学号id为3的记录被删掉了。

接下来我们在test数据库中再新建一个表。然后说明怎么使用drop语句删除表。

12、新建表test1:

CREATE TABLE test1(id tinyint(10),name char(1));

回车后提示:

Query OK, 0 rows affected

接下来我们使用查看语句查看有几个表:

13、查看表:

SHOW TABLES;

注意:这里是TABLES,而不是TABLE,和查询数据库用DATABASES是一样的道理。查询结果为:

+----------------+

| Tables_in_test |

+----------------+

| student |

| test1 |

+----------------+

2 rows in set

查询结果是有两个表在这个数据库中,现在我们要把test1删除掉:

14、删除表:

DROP TABLE test1;

回车后提示如下:

Query OK, 0 rows affected

我们查看是否删掉:

SHOW TABLES;

回车后结果为:

+----------------+

| Tables_in_test |

+----------------+

| student |

+----------------+

1 row in set

说明test1已经被删除掉。

以上是MySQL数据库的基本操作命令。按照以上操作走一遍就基本明白数据库的基本命令了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值