❶ 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;