當前位置:首頁 » 編程語言 » mysql執行一個目錄下所有sql語句
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

mysql執行一個目錄下所有sql語句

發布時間: 2022-04-14 15:16:32

Ⅰ mysql資料庫執行sql語句怎麼寫

Mysql常用命令詳解

Mysql安裝目錄
資料庫目錄
/var/lib/mysql/
配置文件
/usr/share/mysql(mysql.server命令及配置文件)
相關命令
/usr/bin(mysqladmin mysqlmp等命令)
啟動腳本
/etc/init.d/mysql(啟動腳本文件mysql的目錄)

系統管理
連接MySQL
格式:
mysql -h 主機地址 -u用戶名 -p用戶密碼
例 1:連接到本機上的 MySQL。
hadoop@ubuntu:~$ mysql
-uroot -pmysql;

例 2:連接到遠程主機上的 MYSQL。
hadoop@ubuntu:~$ mysql -h
127.0.0.1 -uroot -pmysql;

修改新密碼
在終端輸入:mysql -u用戶名 -p密碼,回車進入Mysql。
>
use mysql;
> update user set password=PASSWORD('新密碼') where
user='用戶名';
> flush privileges; #更新許可權
> quit; #退出

增加新用戶
格式:grant select on 資料庫.* to
用戶名@登錄主機 identified by '密碼'
舉例:
例 1:增加一個用戶 test1 密碼為
abc,讓他可以在任何主機上登錄,並對所有資料庫有
查詢、插入、修改、刪除的許可權。首先用以 root 用戶連入
MySQL,然後鍵入以下命令:
mysql>grant select,insert,update,delete on *.* to
root@localhost identified by 'mysql';
或者
grant all privileges on *.* to
root@localhost identified by 'mysql';
然後刷新許可權設置。
flush privileges;


2:如果你不想 root 有密碼操作資料庫「mydb」里的數據表,可以再打一個命令將密碼消掉。
grant
select,insert,update,delete on mydb.* to root@localhost identified by
'';

刪除用戶
hadoop@ubuntu:~$ mysql
-u用戶名 -p密碼
mysql>delete from user where user='用戶名' and
host='localhost';
mysql>flush privileges;
//刪除用戶的資料庫
mysql>drop
database dbname;

資料庫操作
顯示所有的資料庫
mysql> show databases;(注意:最後有個
s)

創建資料庫
mysql> create database
test;

連接資料庫
mysql> use
test;

查看當前使用的資料庫
mysql> select
database();

當前資料庫包含的表信息
mysql>
show tables; (注意:最後有個 s)

刪除資料庫
mysql> drop database
test;

表操作
備注:操作之前使用「use
<資料庫名>」應連接某個資料庫。
建表
命令:create
table <表名> (<欄位名 1> <類型 1> [,..<欄位名 n> <類型
n>]);
例子:
mysql> create table MyClass(
> id int(4) not null
primary key auto_increment,
> name char(20) not null,
> sex int(4)
not null default '0',
> degree double(16,2));

獲取表結構
命令: desc 表名,或者show columns from
表名
例子:
mysql> describe MyClass
mysql> desc MyClass;
mysql>
show columns from MyClass;

刪除表
命令:drop table <表名>
例如:刪除表名為
MyClass 的表
mysql> drop table MyClass;

插入數據
命令:insert into <表名> [( <欄位名
1>[,..<欄位名 n > ])] values ( 值 1 )[, ( 值 n )]
例子:
mysql> insert
into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang',
96.59);

查詢表中的數據
查詢所有行
mysql>
select * from MyClass;

查詢前幾行數據
例如:查看錶 MyClass 中前 2 行數據
mysql>
select * from MyClass order by id limit 0,2;
或者
mysql> select * from
MyClass limit 0,2;

刪除表中數據
命令:delete from 表名 where 表達式
例如:刪除表
MyClass 中編號為 1 的記錄
mysql> delete from MyClass where id=1;

修改表中數據
命令:update 表名 set 欄位=新值,... where
條件
mysql> update MyClass set name='Mary' where id=1;

在表中增加欄位
命令:alter table 表名 add 欄位 類型
其他;
例如:在表 MyClass 中添加了一個欄位 passtest,類型為 int(4),默認值為 0
mysql> alter
table MyClass add passtest int(4) default '0'

更改表名
命令:rename table 原表名 to 新表名;
例如:在表
MyClass 名字更改為 YouClass
mysql> rename table MyClass to
YouClass;

更新欄位內容
命令:update 表名 set
欄位名 = 新內容
update 表名 set 欄位名 = replace(欄位名, '舊內容', '新內容');
例如:文章前面加入 4
個空格
update article set content=concat(' ', content);

資料庫導入導出
從資料庫導出資料庫文件
使用「mysqlmp」命令
首先進入 DOS
界面,然後進行下面操作。
1)導出所有資料庫
格式:mysqlmp -u [資料庫用戶名] -p
-A>[備份文件的保存路徑]

2)導出數據和數據結構
格式:mysqlmp -u [資料庫用戶名] -p
[要備份的資料庫名稱]>[備份文件的保存路徑]
舉例:
例 1:將資料庫 mydb 導出到 e:\MySQL\mydb.sql
文件中。
打開開始->運行->輸入「cmd」,進入命令行模式。
c:\> mysqlmp -h localhost -u
root -p mydb >e:\MySQL\mydb.sql
然後輸入密碼,等待一會導出就成功了,可以到目標文件中檢查是否成功。


2:將資料庫 mydb 中的 mytable 導出到 e:\MySQL\mytable.sql 文件中。
c:\> mysqlmp -h
localhost -u root -p mydb mytable>e:\MySQL\mytable.sql

例 3:將資料庫 mydb
的結構導出到 e:\MySQL\mydb_stru.sql 文件中。
c:\> mysqlmp -h localhost -u root -p
mydb --add-drop-table >e:\MySQL\mydb_stru.sql
備注:-h localhost
可以省略,其一般在虛擬主機上用。

3)只導出數據不導出數據結構
格式:
mysqlmp -u [資料庫用戶名] -p -t
[要備份的資料庫名稱]>[備份文件的保存路徑]

4)導出資料庫中的Events
格式:mysqlmp -u [資料庫用戶名] -p
-E [資料庫用戶名]>[備份文件的保存路徑]

5)導出資料庫中的存儲過程和函數
格式:mysqlmp -u [資料庫用戶名]
-p -R [資料庫用戶名]>[備份文件的保存路徑]

從外部文件導入資料庫中
1)使用「source」命令
首先進入「mysql」命令控制台,然後創建資料庫,然後使用該資料庫。最後執行下面操作。
mysql>source
[備份文件的保存路徑]

2)使用「<」符號
首先進入「mysql」命令控制台,然後創建資料庫,然後退出 MySQL,進入 DOS
界面。最後執行下面操作。
mysql -u root –p < [備份文件的保存路徑]

Ⅱ MYSQL資料庫如何執行SQL語句

select @a=DRClass1, @b=DRClass2, @c=DRClass3, @d=DRClass4, @e=DRClass5 from Teacher Where TeacherID = @TeacherID create table classname(classname char(50)) insert into classname (classname) values (@a) if (@b is not null) begin insert into classname (classname) values (@b) if (@c is not null) begin insert into classname (classname) values (@c) if (@d is not null) begin insert into classname (classname) values (@d) if (@e is not null) begin insert into classname (classname) values (@e) end end end end select * from classname 以上這些SQL語句能不能轉成一個存儲過程?我自己試了下 ALTER PROCEDURE Pr_GetClass @TeacherID int, @a char(50), @b char(50), @c char(50), @d char(50), @e char(50) as select @a=DRClass1, @b=DRClass2, @c=DRClass3, @d=DRClass4, @e=DRClass5 from Teacher Where TeacherID = @TeacherID DROP TABLE classname create table classname(classname char(50)) insert into classname (classname) values (@a) if (@b is not null) begin insert into classname (classname) values (@b) if (@c is not null) begin insert into classname (classname) values (@c) if (@d is not null) begin insert into classname (classname) values (@d) if (@e is not null) begin insert into classname (classname) values (@e) end end end end select * from classname 但是這樣的話,這個存儲過程就有6個變數,實際上應該只提供一個變數就可以了 主要的問題就是自己沒搞清楚 @a,@b,@C,@d 等是臨時變數,是放在as後面重新做一些申明的,而不是放在開頭整個存儲過程的變數定義。 (標准化越來越近了):namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 實戰SQL語句收集(不斷更新中--) 前言:這里將我編程實踐中遇到的有價值的sql語句一路記下來,一方面方便自己查用,一方面也夯實下即將遺忘的回憶。整個過程中我會不斷更新,直到不能再加為止,同時,這里只記錄最實用的咚咚,不效仿學院派的那一套。

Ⅲ 如何查看mysql執行的所有以往 sql 語句歷史命令

如果你想知道mysql執行的所有以往 sql 語句歷史命令,需要配置log
my.ini文件中
log=log路徑 比如D:/MySQL/datalog.log
配置後重啟mysql服務,然後就可以查看mysql執行的sql語句了,
如果你沒開啟日誌的話,那就沒辦法

Ⅳ mysql一次執行多條sql語句

可以為兩個表創建一個視圖,向視圖插入記錄就可以插入到兩個表中

Ⅳ mysql資料庫怎麼執行sql語句

首先創建連接
就創建個Cnnection對象,然後把驅動加上,還有帳號密碼什麼的!我沒連過sql資料庫,不知道驅動,你可以在網上搜一下。
給你一個我連接mysql資料庫的例子
public Connection Getdata(){//這是連接資料庫的一個方法,還可以配置連接池。
Connection con=null;
try {
Class.forName("com.mysql.jdbc.Driver");//加驅動
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/data","root","qq");//資料庫路徑、埠、庫名、資料庫用戶名和密碼
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}
public void delete(int id){//對資料庫進行操作的方法,先調用上面寫好的連接!
Connection con=Getdata();
Statement st;
try {
st=con.createStatement();
st.executeUpdate("delete from kaoshi where id="+id);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

Ⅵ 在線等,mysql如何批量執行.sql文件

先建立一個aaa.sql
然後:
source 第一個文件路徑;
source 第二個文件路徑;
source 第三個文件路徑;
最後執行:source aaa.sql;即可
批量建表:如果你的表是很有規律的名稱,那麼可以通過存儲過程建立,形如:test001,test002....
但是如果表都是無規律的,那就將所有建表語句放在一個sql文件裡面,執行sql文件吧。。

Ⅶ 用批處理執行某個目錄下所有sql 有高分 呵呵 急需幫忙

樓主你好,我來幫幫你,請看大屏幕,

看下面步驟:

1.新增一個批處理文件:如a.bat
2.新增一個SQL腳本文件:如a.sql
3.a.bat中輸入:
isql -U 用戶名 -P 密碼 -i c:\a.sql

同樣在bat文件中,輸入上面一行,在a.sql輸入腳本.
如:
use 資料庫名
go
select * from 表名
go

注意:如果您是SQL 2005的,請把bat文件中的isql改成osql即可。

祝您成功!
那就稍微改動下:

分為兩個批處理文件

main.bat 用關於查找全數必要實行的SQL文件

@echo on
for /r "C:\Documents and Settings\j1jiang\My Documents\sql scripts" 百分百分i in (*.sql,*.prc) do call sub "百分百分i"
@echo off
改換"C:\Documents and Settings\j1jiang\My Documents\sql scripts" 為必要的目次

sub.bat 調用isql.exe 實行SQL文件

echo Start execute 百分~1 >>result.txt
isql -U<user> -P<password> -Sserver\instanceName -d<dbname> -i 百分1 >>result.txt
echo execute sql 百分~1 completed! >>result.txt
echo -------------------------------------------------------------------------->>result.txt

Ⅷ MySQL中如何執行SQL語句

MYSQL裡面執行SQL語句使用一個DOS命令:MYSQL.EXE

滑鼠雙擊MYSQL.EXE不一定能夠執行,因為那是連接的默認主機、用戶名、密碼,往往不能工作,你需要在CMD命令提示符下,執行命令的時候用參數指定這些內容,參數格式是:
MYSQL.EXE -h 主機名稱或者IP比如127.0.0.1 -u 用戶名稱比如root -p