一组 1 行(0.04 秒)
显示年、月、日
();
+————————–+
| ()|
+————————–+
| 15 | 15
+————————–+
一组 1 行(0.01 秒)
月();
+————————+
| 月() |
+————————+
| 9 |
+————————+
一组 1 行(0.00 秒)
年();
+——————–+
| 年()|
+——————–+
| 2009 |
+——————–+
一组 1 行(0.00 秒)
显示字符串
mysql>“到我的博客!”;
+————————-+
| 到我的博客! |
+————————-+
| 到我的博客! |
+————————-+
一组 1 行(0.00 秒)
用作计算器
((4 * 4) / 10 ) + 25;
+————————-+
| ((4 * 4) / 10 ) + 25 |
+————————-+
| 26.60 | 26.60
+————————-+
一组 1 行(0.00 秒)
连接字符串
(, ” “, )
AS名称
从
其中标题='';
+——————+
| 名称 |
+——————+
| |
| 哈尔 |
| |
+——————+
3 行一组(0.00 秒)
注意:这里使用()函数来连接字符串。 另外,我们还利用之前学过的AS,给结果列‘(,””,)’起了个假名。
8. 备份数据库
命令在DOS的[url=file://\mysql\bin]\mysql\bin[/url]目录下执行
1.导出整个数据库
导出文件默认存放在mysql\bin目录下。
-u 用户名 -p 数据库名 > 导出的文件名
-u -> .sql
2.导出表
-u 用户名 -p 数据库名 表名 > 导出文件名
-u -p > .sql
3.导出数据库结构
-u -p -d –添加-删除-表 > .sql
-d no data –add-drop-table 在每个语句之前添加一个删除表
4. 带语言参数导出
-uroot -p ---set= --set-=gbk --skip-opt > .sql
例如,将aaa库备份到文件中:
[root@test1 root]# cd /home/data/mysql
[root@test1 mysql]# -u root -p –opt aaa >
9.删除数据库
命令:下降
例如:删除名为xhkdb的数据库
mysql> 删除 xhkdb;
示例 1:删除现有数据库
mysql> 删除 ;
查询正常,0 行(0.00 秒)
示例2:删除不确定存在的数据库
mysql> 删除 ;
错误 1008 (HY000):无法删除 ''; 不存在
//发生错误,''数据库无法删除,数据库不存在。
mysql> 删除如果;
Query OK, 0 rows, 1 (0.00 sec)//生成警告,表明该数据库不存在
mysql>;
查询正常,1 行(0.00 秒)
mysql> drop if ;//if判断数据库是否存在。 如果不存在,则不会产生错误。
查询正常,0 行(0.00 秒)
10.恢复数据库
外壳> - -uroot -p
shell> -hhost -uroot -p < .sql
如果只想卸载建表命令,命令如下:
shell> -uroot -p -d > a.sql
如果只想卸载插入数据的sql命令而不是建表命令,命令如下:
shell> -u root -p -t > a.sql
那么如果我只想要数据而不想要任何sql命令该怎么办呢? -T./
其中,只有指定-T参数才能卸载纯文本文件,-T参数表示要卸载数据的目录,./表示当前目录,为同一目录。 如果不指定表,则整个数据库的数据将被卸载。 每个表都会生成两个文件,一个是.sql文件,其中包含表创建执行; 另一种是.txt文件,只包含数据,没有sql指令。
二、表级命令 1、创建表
命令:表([,..]);
例如,创建一个名为的表,
mysql> 表 (
id int(4) 不为空键,
名称 char(20) 不为空,
性别 int(4) 不为空 '0',
(16,2));
2、删除表
命令:删除表
例如:删除名为
mysql> 删除表;
DROP TABLE 用于删除一个或多个表。 您必须对每个表具有 DROP 权限。 所有表数据和表定义都会被取消,所以使用该语句时要小心!
注意:对于分区表,DROP TABLE 将永久取消表定义、取消分区以及取消这些分区中存储的所有数据。 DROP TABLE 还会取消与删除的表关联的分区定义 (.par) 文件。
对于不存在的表,使用IF来防止错误。 当使用IF时,会为每个不存在的表生成一个NOTE。
并且可以使分区更容易。 目前,并不起作用。
3.表格插入
命令: into [( [,.. ])] ( 值 1 ) [, ( 值 n )]
例如:向表中插入两条记录。 这两条记录表明,号码 1 的叫 Tom 的人的分数是 96.45,号码 2 的叫 Joan 的人的分数是 82.99,号码 3 的叫 Wang 的人的分数是 96.5。
mysql> 进入 (1,'汤姆',96.45),(2,'琼',82.99), (2,'王', 96.59);
注意:into一次只能向表中插入一条记录。
4.表查询数据
1)。 查询所有行
命令:from <表名> where <表达式>
例如:查看表中所有数据
mysql> * 来自 ;
2)查询前几行数据
例如:查看表中前2行数据
mysql> * from order by id limit 0,2;
一般与where配合使用,查询更精确、复杂的数据。
5.删除表中的数据
命令:from 表名 where 表达式
例如:删除表中编号为1的记录
mysql> 来自 id=1;
清除表中所有数据
mysql> 来自 ;
6.更新和修改数据
语法:表名 set 字段 = 新值,... where 条件
[][]
SET = 表达式 1 [, = 表达式 2 …]
[在哪里 ]
[排序依据...]
[限制行数]
或者
[][][,……]
SET = 表达式 1 [, = 表达式 2 …]
[在哪里 ]
使用新值更新现有表行中的列。 SET 子句指示要修改哪些列以及应该给它们赋予值。 WHERE 子句(如果给定)指定应更新哪一行。 否则,所有行都将被更新。
如果指定了 ORDER BY 子句,则行将按指定的顺序更新。 如果您指定该关键字,则执行将被延迟,直到没有其他客户端正在读取该表。 如果指定该关键字,即使更新过程中出现重复键错误,更新语句也不会中止。 引起冲突的行将不会被更新。
示例1:单表的MySQL语句:
[] [] SET =expr1 [, =expr2 …] [WHERE ] [ORDER BY …] [LIMIT ]
示例2:多表语句:
[] [] SET =expr1 [, =expr2 …] [WHERE ]
该语法用新值更新原始表行中的列。 SET子句指示要修改哪些列以及要给出哪些值。 WHERE 子句指定应更新哪些行。 如果没有 WHERE 子句,则更新所有行。 如果指定了 ORDER BY 子句,则按指定的顺序更新行。 LIMIT 子句用于限制可以更新的行数。
7. 添加字段
命令:alter table 表名 add 字段类型 other;
例如:表中添加一个字段,类型为int(4),默认值为0
mysql> 更改表添加 int(4) '0'
指数
mysql> alter table 表名 添加索引 索引名(字段名1[,字段名2...]);
示例: mysql> alter table 添加索引(名称);
添加主关键词索引
mysql> alter table 表名 添加键(字段名);
示例:mysql> alter table add key(id);
具有唯一约束的索引
mysql> alter table 表名 添加索引名(字段名);
示例:mysql>alter table add();
删除索引
mysql> alter table 表名 drop index 索引名;
示例:mysql>alter table drop index;
添加字段:
mysql> 更改表添加;
修改原来的字段名称和类型:
mysql> 更改表;
删除字段:
mysql> 更改表删除;
8.修改表名
命令:table原表名改为新表名;
例如:将表名更改为
mysql> 表到;
或者:
mysql > 更改表 t1 t2;
当您执行时,您不能有任何锁定的表或活动事务。 您还必须拥有对原始表的 ALTER 和 DROP 权限以及对新表的 AND 权限。
如果MySQL在多表重命名过程中遇到任何错误,它将对所有重命名的表执行向后重命名,将所有内容返回到原始状态。
MySQL 3.23.23 中添加了 TABLE。
9.修改表结构
mysql>
将列测试添加到表中
更改表添加(测试字符(10));
表修改列测试
更改表测试 char(20) 不为空;
表修改列测试默认值
改变表改变测试集'';
从表中删除测试默认值
更改表更改测试删除;
从表中删除列测试
改变表跌落测试;
添加多个字段:alter table add
,添加;
表删除主键
更改表删除键;
向表添加主键
修改表添加键
(,);
10.导入.sql文件命令
例如D:/mysql.sql
mysql>使用;
mysql> d:/mysql.sql;
11.获取表结构
mysql>;
12、以文本方式将数据加载到数据库表中
(例如D:/mysql.txt)
mysql> 将本地数据“D:/mysql.txt”加载到表中;
13.从现有表复制表结构
表 * 来自 11;
14.复制表
表 * 来自 ;
15、创建临时表:(创建临时表)
表(名称(10));
16.将数据从文本导入数据库
(1)使用工具c:\mysql\bin\
该工具的功能是将文件导入到同名表中,不带文件扩展名,如.txt,则全部导入到表中。
常用选项及功能如下
-d 或 – 在将新数据导入数据表之前删除数据表中的所有信息
-f或--force将强制继续插入数据,无论是否遇到错误。
-i 或 – 跳过或忽略那些具有相同唯一性的
导入文件中的关键字行、数据将被忽略。
-l 或 -lock- 在插入数据之前锁定表,从而防止
更新数据库时,用户查询和更新都会受到影响。
-r 或 - 此选项与 -i 选项具有相反的效果; 该选项取代
表中存在具有相同唯一键的记录。
--- by= 字符
指定文本文件中的数据记录时使用什么。 在很多情况下,
数据用双引号括起来。 默认情况下,数据不包含在字符中。
--- by=字符
指定单个数据值之间的分隔符,在句点分隔的文件中,
分隔符是句点。 您可以使用此选项指定数据之间的分隔符。
默认分隔符是制表符(Tab)
--lines-- by=str
此选项指定文本文件中行之间数据的分隔字符串
或者人物。 默认为行分隔符。
您可以选择用字符串替换单个字符:
换行或回车。
常用的命令选项包括 -v 显示版本 ()、
-p 提示输入密码()等
这个工具有问题。 某些列是不能忽略的,这会给我们的数据导入带来很多麻烦。 虽然我们可以手动设置这个字段,但是会出现莫名其妙的结果。 让我们举一个简单的例子。
我们定义如下.txt,保存到e盘,间隔为制表符\t
10 10
11 11
12 24
执行以下命令
c:\mysql\bin\ -uroot -proot e:\.txt
这里没有使用列包围符号,使用默认的\t进行分割,因为使用其他符号会出现问题。
不知道是不是这个原因
(2)加载数据到
(,)
该命令在 mysql> 提示符下使用。 优点是可以指定要导入的列,例如:
向下
c:\mysql\bin\mysql -uroot -proot
mysql>加载数据“e:/.txt”到
(,);
使用这两个工具都存在问题。 我不知道为什么。
这是一个中文问题,它会为未指定的列生成空值。 这显然不是我们想要的,所以要谨慎使用这些工具。
三、常用函数1.ASCII(str)
返回字符串 str 最左边字符的 ASCII 码值。 如果 str 为空字符串,则返回 0。 如果 str 为 NULL,则返回 NULL。
mysql> ASCII('2');
2.CONV(N,,)
在不同数基之间转换数字。 返回字符串编号 N,从基数转换为基数,如果任何参数为 NULL,
返回 NULL。 N 参数被解释为整数,但可以指定为整数或字符串。 最小基数为2,最大基数为36。如果是负数,则N被视为有符号数; 否则,N 被视为无符号数。 CONV 以 64 位精度工作。
mysql> CONV("a",16,2);
->“1010”
4. 数据操作命令 1. 5. 操作示例 1. 示例 1
删除如果; //如果存在则删除
; //创建库
使用; //打开库
表 //创建表
id int(3) 不为空键,
名称 char(10) 不为空,
(50)“深圳”,
年份日期
); //表创建结束
//以下是插入的字段