❶ linux系统SQL操作数据库时,如何修改表的某一属性名
什么是表的属性名?你是想说列名还戚辩是列的字段类型?或者说就是表名?
改列缓仔汪名:
alter table table_name rename column column_name to new_col_name;
改字段类型:
alter table table_name modify column_name new_caracter;
改表名:扰仔
alter table table_name rename to new_table_name;
❷ 在linux命令行中执行sql查询出现乱码
select userenv('language') from al;
先确认Oracle的字符集,sqlplus登录Oracle后执行语句:
select userenv('language') from al;
返回值例如:AMERICAN_AMERICA.ZHS16GBK
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
修改Linux的NLS_LANG环境变量,修改Oracle指定的内Linux用户下面“.base_profile”文件,加容入如下:
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
用Linux命令“source ~/.base_profile”或者重启,使环境变量设置生效;查看环境变量的Linux命令为“echo $NLS_LANG”。
❸ linux数据库sql保存时间查看
你好,是可以查看的。通过设置STATISTICS我们可以查看执行SQL时的系统喊歼铅情况。选项有PROFILE,IO ,TIME。介绍如下:
SET STATISTICS PROFILE ON:显示分析、编译和郑好执行查询所需的时间(以改祥毫秒为单位)。
SET STATISTICS IO ON:报告与语句内引用的每个表的扫描数、逻辑读取数(在高速缓存中访问的页数)和物理读取数(访问磁盘的次数)有关的信息
❹ linux系统下怎么在终端运行sql语句
主要有以下几种方法:
1、将SQL语句直接嵌入到shell脚本文件中
代码如下:
--演示环境
[root@SZDB ~]# more /etc/issue
CentOS release 5.9 (Final)
Kernel \r on an \m
root@localhost[(none)]> show variables like 'version';
+---------------+------------+
| Variable_name | Value |
+---------------+------------+
| version | 5.6.12-log |
+---------------+------------+
[root@SZDB ~]# more shell_call_sql1.sh
#!/bin/bash
# Define log
TIMESTAMP=`date +%Y%m%d%H%M%S`
LOG=call_sql_${TIMESTAMP}.log
echo "Start execute sql statement at `date`." >>${LOG}
# execute sql stat
mysql -uroot -p123456 -e "
tee /tmp/temp.log
drop database if exists tempdb;
create database tempdb;
use tempdb
create table if not exists tb_tmp(id smallint,val varchar(20));
insert into tb_tmp values (1,'jack'),(2,'robin'),(3,'mark');
select * from tb_tmp;
notee
quit"
echo -e "\n">>${LOG}
echo "below is output result.">>${LOG}
cat /tmp/temp.log>>${LOG}
echo "script executed successful.">>${LOG}
exit;
[root@SZDB ~]# ./shell_call_sql1.sh
Logging to file '/tmp/temp.log'
+------+-------+
| id | val |
+------+-------+
| 1 | jack |
| 2 | robin |
| 3 | mark |
+------+-------+
Outfile disabled.
2、命令行调用单独的SQL文件
代码如下:
[root@SZDB ~]# more temp.sql
tee /tmp/temp.log
drop database if exists tempdb;
create database tempdb;
use tempdb
create table if not exists tb_tmp(id smallint,val varchar(20));
insert into tb_tmp values (1,'jack'),(2,'robin'),(3,'mark');
select * from tb_tmp;
notee
[root@SZDB ~]# mysql -uroot -p123456 -e "source /root/temp.sql"
Logging to file '/tmp/temp.log'
+------+-------+
| id | val |
+------+-------+
| 1 | jack |
| 2 | robin |
| 3 | mark |
+------+-------+
Outfile disabled.
3、使用管道符调用SQL文件
代码如下:
[root@SZDB ~]# mysql -uroot -p123456 </root/temp.sql
Logging to file '/tmp/temp.log'
id val
1 jack
2 robin
3 mark
Outfile disabled.
#使用管道符调用SQL文件以及输出日志
[root@SZDB ~]# mysql -uroot -p123456 </root/temp.sql >/tmp/temp.log
[root@SZDB ~]# more /tmp/temp.log
Logging to file '/tmp/temp.log'
id val
1 jack
2 robin
3 mark
Outfile disabled.
4、shell脚本中MySQL提示符下调用SQL
代码如下:
[root@SZDB ~]# more shell_call_sql2.sh
#!/bin/bash
mysql -uroot -p123456 <<EOF
source /root/temp.sql;
select current_date();
delete from tempdb.tb_tmp where id=3;
select * from tempdb.tb_tmp where id=2;
EOF
exit;
[root@SZDB ~]# ./shell_call_sql2.sh
Logging to file '/tmp/temp.log'
id val
1 jack
2 robin
3 mark
Outfile disabled.
current_date()
2014-10-14
id val
2 robin
5、shell脚本中变量输入与输出
代码如下:
[root@SZDB ~]# more shell_call_sql3.sh
#!/bin/bash
cmd="select count(*) from tempdb.tb_tmp"
cnt=$(mysql -uroot -p123456 -s -e "${cmd}")
echo "Current count is : ${cnt}"
exit
[root@SZDB ~]# ./shell_call_sql3.sh
Warning: Using a password on the command line interface can be insecure.
Current count is : 3
[root@SZDB ~]# echo "select count(*) from tempdb.tb_tmp"|mysql -uroot -p123456 -s
3
[root@SZDB ~]# more shell_call_sql4.sh
#!/bin/bash
id=1
cmd="select count(*) from tempdb.tb_tmp where id=${id}"
cnt=$(mysql -uroot -p123456 -s -e "${cmd}")
echo "Current count is : ${cnt}"
exit
[root@SZDB ~]# ./shell_call_sql4.sh
Current count is : 1
❺ Linux数据库:mysql下如何执行sql脚本_第2页
同样,可以手动执行sql文件,具体步骤如下:
1、使用root帐户登录到MySQL服务器;
2、执行source命令:
mysql>
source
c:/test.sql
注意:文件路径中建议使用“/”,如果使用“\”,要首先进行转义即“\\”,否则可能会出现错误。
另外还有一个load命令可以批量插入数据,但是这个对文件中数据格式的要求比较严格,否则容易出现错误,很少使用。
mysql
查看所有用户的语句
输入指令select
user();
例:(项目来源:尚学堂)struts_training_itemmgr.sql内容如下:
Sql代码
DROP
TABLE
t_items;
DROP
TABLE
t_data_dict;
CREATE
TABLE
t_items
(
item_no
varchar(20)
not
null
key,
item_name
varchar(20)
not
null,
spec
varchar(20),
pattern
varchar(10),
category
varchar(20),
unit
char(20)
);
CREATE
TABLE
t_data_dict
(
id
varchar(5)
not
null
key,
category
varchar(20),
name
varchar(30)
);
#
t_data_dict的初始化数据
INSERT
INTO
t_data_dict(id,category,name)
values('B01','item_category','精通Spring2.X
Java
Web开发');
INSERT
INTO
t_data_dict(id,category,name)
values('B02','item_category','Java语言与面向对象程序设计');
INSERT
INTO
t_data_dict(id,category,name)
values('B03','item_category','2B铅笔');
INSERT
INTO
t_data_dict(id,category,name)
values('B04','item_category','HOTROCK
notebook');
INSERT
INTO
t_data_dict(id,category,name)
values('C01','item_unit','本');
INSERT
INTO
t_data_dict(id,category,name)
values('C02','item_unit','支');
INSERT
INTO
t_data_dict(id,category,name)
values('C03','item_unit','箱');
❻ linux如何并发执行sql文件命令
在Linux下,我们可以使用多线程并发执行sql文件命令。以下是一个简单的示例:
1. 首先,创建一个包含需要执行的SQL文件路径的文本文件,名为file_list.txt:
```
/home/user/sql/file1.sql
/home/user/sql/file2.sql
/home/user/sql/file3.sql
```
2. 然老模历后,使用xargs和并发执行工具parallel来读取file_list.txt中的每个文件路径,并执行mysql命令:
```
cat file_list.txt | xargs -I {} -P 4 sh -c 'mysql -u [username] -p[password] [database] < {}'
```
这侍搜个命令将执行file_list.txt中指定的每个SQL文件,并且允许同时执行4个进程(-P 4参数)。你需要将[username]、[password]和[database]替换为你的数据库用户名、密码和数据库名。
3. 如果你想输出执行结果或错误信息到文件中,可以添加重定向操作符">"或"2>"。例如:
```
cat file_list.txt | xargs -I {} -P 4 sh -c 'mysql -u [username] -p[password] [database] < {} > {}.out 2> {}.err'
```
这将把每个SQL文件执行后的输出结果和错误信息保存到它们各自的".out"和".err"文件中。
注意:在执行这种批量处理任务时,请确保你的系统有足够的资源支持多线程和并发执行。同码隐时,也要注意对于生产环境的数据库,一定要谨慎操作,避免数据丢失或损坏。
❼ linux怎么执行sql
linux执行sql的方法步骤如下:
1、开机按F8不动到高级选项出现再松手;
2、选择“最近竖贺型一次的正确配置”回车修复,可以恢复原来的驱动;拍笑
3、如果是因更新驱动引起的故障,右击我的电脑选属性余猜;
4、选择设备管理器找到驱动,右键选择属性上面的驱动程序选项;
5、选择下面返回驱动程序选项按确定即可。
❽ Linux下如何运行sql脚本
Linux运行sql脚本的具体操作步骤如下:
1、使用shell工具登陆到安装postgresql的服务器,切换到postgres用户,postgresql默认的操作用户,命令是:su - postgres,查看当前路径是/var/lib/psql,创建一个test.sql脚本文件,命令是:vim test.sql。
❾ linux下怎样能执行sqlite3多条SQL语句,比如一个txt文档里存放多条语句怎样来执行
只能循环读出来执行,还要看 是不是带参数,
下面是个读sql 语句的函数
int db_order(sqlite3 *db,char *sql)
{
va_list ap;
int ret = 0;
ret = sqlite3_exec(db, sql, NULL, NULL, NULL);
sqlite3_free(sql);
if(ret != SQLITE_OK) {
fputs("insert error\n",stderr);
}
return ret;
}
int main(void)
{
sqlite3 *db;
char *sql=NULL;
sql = sqlite3_mprintf("select * from datebase;");
db_order(db,sql);
}
你把sqlite3_mprintf()里的语句换做读出来的字符串
❿ linux 怎么执行sql
|以下举个例子,在shell下执行SQL命令然后马上回到shell.
其中MYSQL密码和账号都是www
$ mysql -uwww -pwww -hlocalhost -e "show databases;"
+--------------------+
|回 Database |
+--------------------+
| information_schema |
+--------------------+
$
如果要执行不止一条命令答,则可以先写到一个文件中,然后再用输入重定向完成。比如我可以把SQL指令都写到/tmp/sqltest中然后
$ mysql -uwww -pwww -hlocalhost < /tmp/testsql
Database
information_schema
$
#注:为方便,我 testsql 中还是只有一条命令,还是 show databases;