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, 2 rows 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数据库的基本操作命令。按照以上操作走一遍就基本明白数据库的基本命令了。
MySQL-基本sql命令的更多相关文章
- mysql常用sql命令
一.连接MYSQL. 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL. 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u roo ...
- MySQL基础SQL命令---增删改查
1.表操作: create table tableName (id int(6) not null primary key auto_increatment,name varchar(10) not ...
- MySQL导入SQL文件及常用命令
在MySQL Qurey Brower中直接导入*.sql脚本,是不能一次执行多条sql命令的,在mysql中执行sql文件的命令: mysql> source d:/myprogr ...
- MySQL导入.sql文件及常用命令
在MySQL Qurey Brower中直接导入*.sql脚本,是不能一次执行多条sql命令的,在mysql中执行sql文件的命令: mysql> source d:/myprogram/d ...
- 数据库发出sql命令mysql教程
$db = mysql教程_connect("localhost", "phpdb", "phpdb");mysql_select_db(& ...
- 转:MySQL导入.sql文件及常用命令
在MySQL Qurey Brower中直接导入*.sql脚本,是不能一次执行多条sql命令的,在mysql中执行sql文件的命令: mysql> source d:/myprogram ...
- MySQL进口.sql文件和常用命令
MySQL进口.sql文件和常用命令 在MySQL Qurey Brower中直接导入*.sql脚本,是不能一次运行多条sql命令的.在mysql中运行sql文件的命令: mysql> so ...
- MySQL导入sql脚本中文乱码设置和常用命令
1. use database_name; 2. set names utf8; (或其他需要的编码) 3. source example.sql (sql文件存放路径) Mysql安装目录数据库目录 ...
- mysql 无法退出sql命令行编辑
mysql 无法退出sql命令行编辑 | ANBOBhttp://www.anbob.com/archives/579.html mysql 无法退出sql命令行编辑 - 码农甲乙丙 - CSDN博客 ...
- MySQL 列,可选择的数据类型(通过sql命令查看:`help create table;`)
MySQL 列,可选择的数据类型(通过sql命令查看:help create table;) BIT[(length)] | TINYINT[(length)] [UNSIGNED] [ZEROFIL ...
随机推荐
- android 代码优化:封锁输出日志
可以使用 ProGuard 完全地删除任何在发布版中无用的语句,关于 ProGuard 参见: http://developer.android.com/guide/developing/tools/ ...
- CF 675 div2C 数学 让环所有值变为0的最少操作数
http://codeforces.com/contest/675/problem/C 题目大意: 给一个环,标号为1-n,然后能从n回到1.让这个环的值为0,最少需要的操作数是多少? 这道题目呀.. ...
- SQL2005附加数据库时遇到的问题:用户组或角色在当前数据库已存在
一次 附加备份数据库的 mdf 文件 成功后 创建登陆用户 但是 无法映射该用户的 对应数据库 出现 用户组或角色在当前数据库已存在 的问题 首先介绍一下sql server中“ ...
- DIL中基本数据类型
(1)基本数据类型:OMG IDL基本数据类型包括short.long和相应的无符号(unsigned)类型,表示的字长分别为16.32位. (2)浮点数类型:OMG IDL浮点数类型包括float ...
- 【gcd】 最大公约数
int gcd(int a,int b) { int r; ) { r=a%b; a=b; b=r; } return a; }
- hihocoder网络流一·Ford-Fulkerson算法
网络流一·Ford-Fulkerson算法 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho住在P市,P市是一个很大很大的城市,所以也面临着一个大城市都会遇 ...
- opencart 图片管理器 500错误
网站点击文件夹打不开返回500错误,通过ftp删除大于1M的图片文件即可
- 项目整体说明及WBS练习
乐谱识别研究的意义 纸质乐谱向数字化乐谱的转换,是人类音乐活动与计算机音乐处理之间进行信息交流的必经之路.光学乐谱识别是将纸质乐谱扫描输入计算机后,对乐谱图像加以处理.识别.分析,最终获得乐谱的计算机 ...
- 利用html5压缩图片,产出base64图片
/* 将页面选择的图片等比压缩成指定大小(长边固定) file:图片文件 callBack:回调函数 maxLen:长边的长度*/function makePic(file,callBack,maxL ...
- JS检测图片的大小
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> < ...