導航:首頁 > 使用方法 > mysqlsql基本常用的方法

mysqlsql基本常用的方法

發布時間:2022-05-26 00:20:59

Ⅰ SQL資料庫常用命令及語法舉例

下面是一些常用的SQL語句,雖然很基礎,可是卻很值得收藏,對於初學者非常實用

Ⅱ mysql常用命令都有哪些

1.導出整個資料庫
mysqlmp-u用戶名-p–default-character-set=latin1資料庫名》導出的文件名(資料庫默認編碼是latin1)23mysqlmp-uwcnc-psmgp_apps_wcnc》wcnc.sql
2.導出一個表
mysqlmp-u用戶名-p資料庫名表名》導出的文件名23mysqlmp-uwcnc-psmgp_apps_wcncusers》wcnc_users.sql
3.導出一個資料庫結構
mysqlmp-uwcnc-p-d–add-drop-tablesmgp_apps_wcnc》d:wcnc_db.sql23-d沒有數據–add-drop-table在每個create語句之前增加一個droptable
4.導入資料庫
A:常用source命令23進入mysql資料庫控制台,45如mysql-uroot-p67mysql》use資料庫89然後使用source命令,後面參數為腳本文件(如這里用到的.sql)1011mysql》sourcewcnc_db.sql1213B:使用mysqlmp命令1415mysqlmp-uusername-pdbname《filename.sql1617C:使用mysql命令1819mysql-uusername-p-Ddbname《filename.sql啟動與退出
1、進入MySQL:啟動MySQLCommandLineClient(MySQL的DOS界面),直接輸入安裝時的密碼即可。此時的提示符是:mysql》
2、退出MySQL:quit或exit
5.創建資料庫
命令:createdatabase《資料庫名》
例如:建立一個名為xhkdb的資料庫
mysql》createdatabasexhkdb;
6.顯示所有的資料庫
命令:showdatabases(注意:最後有個s)
mysql》showdatabases;
7.刪除資料庫
命令:dropdatabase《資料庫名》
8.連接資料庫
命令:use《資料庫名》
例如:如果xhkdb資料庫存在,嘗試存取它:
9.查看當前使用的資料庫
mysql》selectdatabase();
10.當前資料庫包含的表信息:
mysql》showtables;(注意:最後有個s)

Ⅲ MySQL資料庫基礎+ 資料庫的基本操作

需要用的資料以鏈接的形式給需要的同學。

我用的mysql版本為: Mysql-5.5.45-win64.msi 密碼是:26zw

圖形化工具 Navicat(前期不推薦用,直接手動敲): Navicat 密碼:c7fs

開始我的MySQL之旅吧 始於2016.12.04

--WH

一、資料庫的安裝

這個就不在這里過多闡述了,因為網上實在是太多安裝mysql的教程了,有了我給的mysql,在按照這個安裝教程(MySQL安裝教程)去看,就能夠安裝完好。

安裝好mysql後,如果需要使用windows命令窗口(也就是cmd)來操作mysql,那麼就需要配置環境變數,在安裝好的mysql下找到bin,將其目錄放到環境變數path中去,就行了,檢測成功與否的方法是在cmd命令窗口中輸入mysql,就會出現一大段英文,就說明成功了,反之失敗,如果不會的話就去網路搜教程。

二、資料庫的基本操作

1、開啟mysql服務命令

net start mysql

2、進入mysql的兩種方式

明文進入:mysql -uroot -proot格式:mysql -u帳號-p密碼

密文進入:mysql -uroot -p 按enter會提示你輸入密碼(Enter pssword:),此時你寫的密碼就會顯示為***這樣。

3、查看mysql中所有的資料庫(一般在固定的單詞命令就會是用大寫,這個要習慣,看多了敲多了就認識了)

前面四個資料庫是mysql中自帶的,也就是必須的.

SHOW DATABASES;

4、創建名為test_1的資料庫

格式:CREATE DATABASE 資料庫名

CREATE DATABASE test_1;

5、刪除名為test_1的資料庫

格式:DROP DATABASE 資料庫名

DROP DATABASE test_1;

總結:學習了對資料庫的三個操作,1、查看所有資料庫 2、創建資料庫 3、刪除資料庫

三、數據表的基本操作

數據表和資料庫還有Mysql三者的關系

mysql中保存了很多資料庫、一個資料庫中可以保存很多表。

對數據表的增(創建表)刪(刪除表)改(修改表欄位)查(查詢表結構)。 注意:這里的操作對象是表,對表的操作也就是表的結構,和表中的欄位的操作(欄位和記錄要分清楚)

前提:表是在資料庫下的,所以要先確實使用哪個資料庫。

USE test_1;

1、創建數據表

格式:CREATE TABLE 數據表名(

欄位名1數據類型[列級別約束條件],

欄位名2數據類型[列級別約束條件],

欄位名3數據類型[列級別約束條件]

);

注意:格式不一定需要這樣隔著寫,完全可以全部寫成一行。但是那樣寫可觀性非常差。我這樣寫只是為了可以看的更清晰。

解釋:

1、[]中括弧中的內容表示可以有可以沒有,

2、列級別這個「列」一定要搞清楚說的是什麼,一張表中有行有列,列表示豎,行表示橫

3、約束條件後面會講到

1.1、創建沒有約束的student表
CREATE TABLE student( idINT(11), nameVARCHAR(12), ageINT(11) );

注釋:SHOW TABLES 查詢資料庫底下的所有表。

1.2、創建有約束的student表

六大約束:主鍵約束、外鍵約束、非空約束、唯一約束、默認約束、自動增加

1.2.1:主鍵約束

PRIMARY KEY(primary key):獨一無二(唯一)和不能為空(非空),通俗的講,就是在表中增加記錄時,在該欄位下的數據不能重復,不能為空,比如以上面創建的表為例子,在表中增加兩條記錄,如果id欄位用了主鍵約束。則id不能一樣,並且不能為空。一般每張表中度有一個欄位為主鍵,唯一標識這條記錄。以後需要找到該條記錄也可以同這個主鍵來確認記錄,因為主鍵是唯一的,並且非空,一張表中每個記錄的主鍵度不一樣,所以根據主鍵也就能找到對應的記錄。而不是多條重復的記錄。如果沒有主鍵,那麼表中就會存在很多重復的記錄,那麼即浪費存儲空間,在查詢時也消耗更多資源。

一般被主鍵約束了的欄位度習慣性的稱該欄位為該表的主鍵

單欄位主鍵約束

兩種方式都可以

CREATE TABLE student(CREATE TABLE student(

idINT(11) PRIMARY KEY,idINT(11),

nameVARCHAR(12),nameVARCHAR(12),

ageINT(11) ageINT(11),

);PRIMARY KEY(id) );

多欄位主鍵約束(復合主鍵)

這個id和name都市主鍵,說明在以後增加的插入的記錄中,id和name不能同時一樣,比如說可以是這樣。一條記錄為id=1,name=yyy、另一條記錄為:id=1,name=zzz。 這樣是可以的。並不是你們所理解的兩個欄位分別度不可以相同。

CREATE TABLE student(CREATE TABLE student(

idINT(11) PRIMARY KEY,idINT(11),

nameVARCHAR(12) PRIMARY KEY,nameVARCHAR(12),

ageINT(11)ageINT(11),

);PRIMARY KEY(id,name) );

1.2.2:外鍵約束

什麼是外鍵舉個例子就清楚了,有兩張表,一張表是emp(員工)表,另一張表是dept(部門)表,一個員工屬於一個部門,那麼如何通過員工能讓我們自己他在哪個部門呢?那就只能在員工表中增加一個欄位,能代表員工所在的部門,那該欄位就只能是存儲dept中的主鍵了(因為主鍵是唯一的,才能確實是哪個部門,進而代表員工所在的部門,如果是部門名稱,有些部門的名稱可能是同名。就不能區分了。),像這樣的欄位,就符合外鍵的特點,就可以使用外鍵約束,使該欄位只能夠存儲另一張表的主鍵。如果不被外鍵約束,那麼該欄位就無法保證存儲進來的值就一定是另一張表的主鍵值。

外鍵約束的特點:

1、外鍵約束可以描述任意一個欄位(包括主鍵),可以為空,並且一個表中可以有多個外鍵。但是外鍵欄位中的值必須是另一張表中的主鍵。

2、這樣被外鍵關聯的兩種表的關系可以稱為父子表或者主從表。子表(從表)擁有外鍵欄位的表,父表(主表)被外鍵欄位所指向的表。

3、子表被外鍵約束修飾的欄位必須和父表的主鍵欄位的類型一樣。

注意:一個表中有被外鍵修飾的欄位,就稱該表有外鍵(是「有外鍵」。而不是「是外鍵」),並會給該表中的外鍵約束取一個名稱,所以我們常說的這個表有沒有外鍵,指的不是被外鍵約束修飾的欄位名,而是指這個表是否有存在外鍵約束。也就是說,不能說這個表的外鍵是xxx(該表中被外鍵約束修飾的欄位名),這種說法是錯誤的,但是大多數人已經習慣了這樣,雖然影響不大,但是在很多時候需要理解一個東西時,會造成一定的困擾。

格式:CONSTRAINT外鍵名稱FOREIGN KEY(被外鍵約束的欄位名稱)REFERENCES 主表名(主鍵欄位)

英文解釋:CONSTRAINT:約束REFERENCES:參考

CREATE TABLE tableA
(
id INT(11),
name VARCHAR(22),
location VARCHAR(50),
PRIMARY KEY(id)
);
CREATE TABLE tableB
(
id INT(11),
name VARCHAR(22) NOT NULL,
deptId INT(11),
PRIMARY KEY(id),
CONSTRAINT tableA_tableB_1 FOREIGH KEY(deptId) REFERENCES tableA(id)
);

解釋:tableB中有一個名為tableA_tableB_1的外鍵關聯了tableA和tableB兩個表,被外鍵約束修飾的欄位為tableB中的deptId,主鍵欄位為tableA中的id

1.2.3:非空約束

NOT NULL. 被該約束修飾了的欄位,就不能為空,主鍵約束中就包括了這個約束

CREATE TABLE tableA
(
id INT(11),
name VARCHAR(22) NOT NULL,
location VARCHAR(50),
PRIMARY KEY(id)
);

1.2.4:唯一約束

UNIQUE 被唯一約束修飾了的欄位,表示該欄位中的值唯一,不能有相同的值,通俗點講,就好比插入兩條記錄,這兩條記錄中處於該欄位的值不能是一樣的。

CREATE TABLE tableA
(
id INT(11),
name VARCHAR(22) UNIQUE,
location VARCHAR(50),
PRIMARY KEY(id)
);

也就是說在插入的記錄中,每條記錄的name值不能是一樣的。

1.2.5:默認約束

Default 指定這一列的默認值為多少,比如,男性同學比較多,性別就可以設置為默認男,如果插入一行記錄時,性別沒有填,那麼就默認加上男

CREATE TABLE table
(
id INT(11) PRIMARY KEY,
name VARCHAR(22) NOT NULL,
deptId INT(11) DEFAULT 1111,
salary FLOAT
);

1.2.6:自動增加

AUTO_INCREMENT 一個表只能一個欄位使用AUTO_INCREMENT,並且使用這個約束的欄位只能是整數類型(任意的整數類型 TINYINT,SMALLIN,INT,BIGINT),默認值是1,也就是說從1開始增加的。一般就是給主鍵使用的,自動增加,使每個主鍵的值度不一樣,並且不用我們自己管理,讓主鍵自己自動生成
CREATE TABLE table ( id INT(11) PRIMARY KEY AUTO_INCREMENT, name VARCHAR(22) NOT NULL );
2、查詢表結構

2.1、查看錶基本結構語句

格式1:DESCRIBE 表名/DESC 表名這兩個的功能是一樣的,簡寫了單詞describe

DESCRIBEstudent;

2.2、查看創建表的語句

格式:SHOW CREATE TABLE 表名

SHOW CREATE TABLE student;

這樣顯示的格式很不好,看不清楚,所以有了下面這個語句

格式:SHOW CREATE TABLE 表名\G

SHOW CREATE TABLE student\G;

3、修改數據表

修改數據表包括:對表中欄位的增加、刪除、修改。 在這個裡面用的關鍵字為 ALTER

3.1、修改表名

格式:ALTER TABLE<舊表名> RENAME[TO]<新表名>;

將student表名改為student1(改完後在改回來)

ALTER TABLE student RENAME TO student1;

3.2、修改表中的欄位名

格式:ALTER TABLE<表名> CHANGE<舊欄位名><新欄位名><新數據類型>

將student表中的name欄位名改為 username

ALTER TABLE student CHANGE name username VARCHAR(30);

3.3、修改表中的數據類型

格式:ALTER TABLE<表名> MODIFY<欄位名><數據類型>

ALTER TABLE student MODIFY username VARCHAR(20);

解釋:只能修改欄位名的數據類型,但是其原理跟上面change做的事情一樣,這里也有修改欄位名的過程,只不過修改後的欄位名和修改前的欄位名相同,但是數據類型不一樣。

3.4、修改欄位的排列位置

方式1:ALTER TABLE<表名> MODIFY<欄位1><數據類型> FIRST|AFTER<欄位2>

解釋:將欄位1的位置放到第一,或者放到指定欄位2的後面

ALTER TABLE student MODIFY username VARCHAR(20) AFTER age;

方式2:ALTER TABLE<表名> CHANGE<欄位1><欄位2><數據類型> FIRST|AFTER<欄位3>

解釋:其實是一樣的,將是欄位2覆蓋欄位1,然後在進行排序

ALTER TABLE student CHANGE username username VARCHAR(20) AFTER age;

總結

CHANGE和MODIFY的區別?

原理都市一樣的,MODIFY只能修改數據類型,但是CHANGE能夠修改數據類型和欄位名,也就是說MODIFY是CHANGE的更具體化的一個操作。可能覺得用CHANGE只改變一個數據類型不太爽,就增加了一個能直接改數據類型的使用關鍵字MODIFY來操作。

3.5、添加欄位

格式:ALTER TABLE<表名稱> ADD<新欄位名><數據類型>[約束條件][FIRST|AFTER<已存在的表名>]

解釋:在一個特定位置增加一個新的欄位,如果不指定位置,默認是最後一個。

ALTER TABLE student ADD sex VARCHAR(11);

3.6、刪除欄位

格式:ALTER TABLE<表名稱> DROP<欄位名>;

ALTER TABLE student DROP sex;

3.7、刪除表的外鍵約束

格式:ALTER TABLE<表名稱> DROP FOREIGN KEY<外鍵約束名>

注意:外鍵約束名 指的不是被外鍵約束修飾的欄位名,切記,而是我們在創建外鍵約束關系時取的名字。

3.8、更改表的存儲引擎

格式:ALTER TABLE<表名> ENGINE=<更改後的存儲引擎名>

這個存儲引擎目前我自己也不太清楚,雖然知道有哪幾種引擎,但是稍微深入一點就不清楚了,所以打算留到日後在說。

4、刪除表

4.1、刪除無關聯表

格式:DROP TABLE<表名>;

ALTER TABLE student;

4.2、刪除被其他表關聯的主表

這個是比較重要的一點,在有外鍵關聯關系的兩張表中,如果刪除主表,那麼是刪不掉的,並且會報錯。因為有張表依賴於他。那怎麼辦呢?針對這種情況,總共有兩種方法

1、先刪除你子表,然後在刪除父表,這樣就達到了刪除父表的目的,但是子表也要被刪除
2、先解除外鍵關系,然後在刪除父表,這樣也能達到目的,並且保留了子表,只刪除我們不需要的父表。在3.7中就講解了如何刪除外鍵關系。

Ⅳ MySQL最常用的幾個基本SQL語句

插入:insert into table1(field1,field2) values(value1,value2)
刪除:delete from table1 where 范圍
更新:update table1 set field1=value1 where 范圍
查找:select * from table1 where field1 like 』%value1%』 ---like的語法很精妙,查資料!
排序:select * from table1 order by field1,field2 [desc]
總數:select count as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1

Ⅳ mysql資料庫中最常用的幾個命令

Mysql常用命令行大全 機 第一招、mysql服務的啟動和停止 net stop mysql net start mysql 第二招、登陸mysql 語法如下: mysql -u用戶名 -p用戶密碼 鍵入命令mysql -uroot -p, 回車後提示你輸入密碼,輸入12345,然後回車即可進入到mysql中了,mysql的提示符是: mysql> 注意,如果是連接到另外的機器上,則需要加入一個參數-h機器IP 第三招、增加新用戶 格式:grant 許可權 on 資料庫.* to 用戶名@登錄主機 identified by "密碼" 如,增加一個用戶user1密碼為password1,讓其可以在本機上登錄, 並對所有資料庫有查詢、插入、修改、刪除的許可權。首先用以root用戶連入mysql,然後鍵入以下命令: grant select,insert,update,delete on *.* to user1@localhost Identified by "password1"; 如果希望該用戶能夠在任何機器上登陸mysql,則將localhost改為"%"。 如果你不想user1有密碼,可以再打一個命令將密碼去掉。 grant select,insert,update,delete on mydb.* to user1@localhost identified by ""; 第四招: 操作資料庫 登錄到mysql中,然後在mysql的提示符下運行下列命令,每個命令以分號結束。 1、 顯示資料庫列表。 show databases; 預設有兩個資料庫:mysql和test。 mysql庫存放著mysql的系統和用戶許可權信息,我們改密碼和新增用戶,實際上就是對這個庫進行操作。 2、 顯示庫中的數據表: use mysql; show tables; 3、 顯示數據表的結構: describe 表名; 4、 建庫與刪庫: create database 庫名; drop database 庫名; 5、 建表: use 庫名; create table 表名(欄位列表); drop table 表名; 6、 清空表中記錄: delete from 表名; 7、 顯示表中的記錄: select * from 表名; 第五招、導出和導入數據 1. 導出數據: mysqlmp --opt test > mysql.test 即將資料庫test資料庫導出到mysql.test文件,後者是一個文本文件 如:mysqlmp -u root -p123456 --databases dbname > mysql.dbname 就是把資料庫dbname導出到文件mysql.dbname中。 2. 導入數據: mysqlimport -u root -p123456 < mysql.dbname。 不用解釋了吧。 3. 將文本數據導入資料庫: 文本數據的欄位數據之間用tab鍵隔開。 use test; load data local infile "文件名" into table 表名; 1:使用SHOW語句找出在伺服器上當前存在什麼資料庫: mysql> SHOW DATABASES; 2:2、創建一個資料庫MYSQLDATA mysql> CREATE DATABASE MYSQLDATA; 3:選擇你所創建的資料庫 mysql> USE MYSQLDATA; (按回車鍵出現Database changed 時說明操作成功!) 4:查看現在的資料庫中存在什麼表 mysql> SHOW TABLES; 5:創建一個資料庫表 mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1)); 6:顯示表的結構: mysql> DESCRIBE MYTABLE; 7:往表中加入記錄 mysql> insert into MYTABLE values ("hyq","M"); 8:用文本方式將數據裝入資料庫表中(例如D:/mysql.txt) mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE; 9:導入.sql文件命令(例如D:/mysql.sql) mysql>use database; mysql>source d:/mysql.sql; 10:刪除表 mysql>drop TABLE MYTABLE; 11:清空表 mysql>delete from MYTABLE; 12:更新表中數據 mysql>update MYTABLE set sex="f" where name='hyq'; posted on 2006-01-10 16:21 happytian 閱讀(6) 評論(0) 編輯 收藏 收藏至365Key 13:備份資料庫 mysqlmp -u root 庫名>xxx.data 14:例2:連接到遠程主機上的MYSQL 假設遠程主機的IP為:110.110.110.110,用戶名為root,密碼為abcd123。則鍵入以下命令: mysql -h110.110.110.110 -uroot -pabcd123 (注:u與root可以不用加空格,其它也一樣) 3、退出MYSQL命令: exit (回車)

Ⅵ MySql常用操作SQL語句匯總

MySQL的常見操作在這里先做一下總結,已經整合到代碼裡面,經過檢驗無誤。
復制代碼
代碼如下:
/*創建一個資料庫*/
create
database
xuning_test;
/*說明當時使用資料庫對象*/
use
xuning_test;
/*向資料庫中添加表並且定義表的結構*/
create
table
person(
id
int
not
null,
name
varchar(16)
not
null,
sex
varchar(16)
not
null,
age
int
not
null,
address
varchar(128)
not
null,
remark
varchar(512)
not
null
);
/*向資料庫的表中插入數據*/
insert
into
person
value
(1,'name_1','men',99,'beijing','This
is
a
frindsheep
boy'),
(2,'name_2','men',88,'shanghai','ok
great'),
(1,'name_3','man',77,'guangzhou','This
is
lickly'),
(1,'name_4','men',66,'beijing','This
is
a
frindsheep
boy'),
(1,'name_5','men',55,'beijing','you
dont
going
to
shool'),
(1,'name_6','man',44,'beijing','This
is
a
frindsheep
boy'),
(1,'name_7','men',33,'beijing','This
is
a
frindsheep
boy'),
(1,'name_8','man',22,'beijing',''),
(1,'name_9','men',11,'beijing','This
is
a
frindsheep
boy')
;
/*查詢時否成功插入*/
select
*
from
person;
/*下面是多種查詢方式*/
/*根據列的名稱屬性值*/
select
name
from
person;
/*添加條件-根據性別*/
select
name
from
person
where
sex
=
'men';
/*也可以用比較符作為條件--一定逗號隔開*/
select
name,address
from
person
where
age
>
50;
/*看做對象去使用資料庫和表的關系=---雙表關聯--對象關系一定要明確*/
select
xuning_test.person.name,
xuning_test.person.id,
xuning_test.person.age,
xuning_test.person.address
from
xuning_test.person,
test1.test_xuning
where
xuning_test.person.id
=
test1.test_xuning.id
;
/*使用表的別名進行查詢*/
use
xuning_test;
select
c.name,sex
from
person
as
c
where
c.age
>
40
and
c.address='beijing';

Ⅶ MySQL 資料庫常用命令 簡單超級實用版

1、MySQL常用命令
create
database
name;
創建資料庫
use
databasename;
選擇資料庫
drop
database
name
直接刪除資料庫,不提醒
show
tables;
顯示表
describe
tablename;
表的詳細描述
select
中加上distinct去除重復欄位
mysqladmin
drop
databasename
刪除資料庫前,有提示。
顯示當前mysql版本和當前日期
select
version(),current_date;
2、修改mysql中root的密碼:
shell>mysql
-u
root
-p
mysql>
update
user
set
password=password(」xueok654123″)
where
user='root';
mysql>
flush
privileges
//刷新資料庫
mysql>use
dbname;
打開資料庫:
mysql>show
databases;
顯示所有資料庫
mysql>show
tables;
顯示資料庫mysql中所有的表:先use
mysql;然後
mysql>describe
user;
顯示表mysql資料庫中user表的列信息);
3、grant
創建一個可以從任何地方連接伺服器的一個完全的超級用戶,但是必須使用一個口令something做這個
mysql>
grant
all
privileges
on
*.*
to
user@localhost
identified
by
'something'
with
增加新用戶
格式:grant
select
on
資料庫.*
to
用戶名@登錄主機
identified
by
「密碼」
GRANT
ALL
PRIVILEGES
ON
*.*
TO
monty@localhost
IDENTIFIED
BY
'something'
WITH
GRANT
OPTION;
GRANT
ALL
PRIVILEGES
ON
*.*
TO
monty@」%」
IDENTIFIED
BY
'something'
WITH
GRANT
OPTION;
刪除授權:
mysql>
revoke
all
privileges
on
*.*
from
root@」%」;
mysql>
delete
from
user
where
user=」root」
and
host=」%」;
mysql>
flush
privileges;
創建一個用戶custom在特定客戶端it363.com登錄,可訪問特定資料庫fangchandb
mysql
>grant
select,
insert,
update,
delete,
create,drop
on
fangchandb.*
to
custom@
it363.com
identified
by

passwd'
重命名表:
mysql
>
alter
table
t1
rename
t2;
4、mysqlmp
備份資料庫
shell>
mysqlmp
-h
host
-u
root
-p
dbname
>dbname_backup.sql
恢復資料庫
shell>
mysqladmin
-h
myhost
-u
root
-p
create
dbname
shell>
mysqlmp
-h
host
-u
root
-p
dbname
<
dbname_backup.sql
如果只想卸出建表指令,則命令如下:
shell>
mysqladmin
-u
root
-p
-d
databasename
>
a.sql
如果只想卸出插入數據的sql命令,而不需要建表命令,則命令如下:
shell>
mysqladmin
-u
root
-p
-t
databasename
>
a.sql
那麼如果我只想要數據,而不想要什麼sql命令時,應該如何操作呢?

mysqlmp
-T./
phptest
driver
其中,只有指定了-T參數才可以卸出純文本文件,表示卸出數據的目錄,./表示當前目錄,即與mysqlmp同一目錄。如果不指定driver
表,則將卸出整個資料庫的數據。每個表會生成兩個文件,一個為.sql文件,包含建表執行。另一個為.txt文件,只包含數據,且沒有sql指令。
5、可將查詢存儲在一個文件中並告訴mysql從文件中讀取查詢而不是等待鍵盤輸入。可利用外殼程序鍵入重定向實用程序來完成這項工作。例如,如果在文件my_file.sql
中存放有查
詢,可如下執行這些查詢:
例如,如果您想將建表語句提前寫在sql.txt中:
mysql
>
mysql
-h
myhost
-u
root
-p
database
<
sql.txt

Ⅷ mysql 優化sql方法有哪些

1.對查詢進行優化,應盡量避免全表掃描,首先應考慮在 where 及 order by 涉及的列上建立索引。

2.應盡量避免在 where 子句中使用!=或<>操作符,否則將引擎放棄使用索引而進行全表掃描。

3.應盡量避免在 where 子句中對欄位進行 null 值判斷,否則將導致引擎放棄使用索引而進行全表掃描,如:
select id from t where num is null
可以在num上設置默認值0,確保表中num列沒有null值,然後這樣查詢:
select id from t where num=0

4.應盡量避免在 where 子句中使用 or 來連接條件,否則將導致引擎放棄使用索引而進行全表掃描,如:
select id from t where num=10 or num=20
可以這樣查詢:
select id from t where num=10
union all
select id from t where num=20

5.下面的查詢也將導致全表掃描:
select id from t where name like '%abc%'
若要提高效率,可以考慮全文檢索。

6.in 和 not in 也要慎用,否則會導致全表掃描,如:
select id from t where num in(1,2,3)
對於連續的數值,能用 between 就不要用 in 了:
select id from t where num between 1 and 3

7.如果在 where 子句中使用參數,也會導致全表掃描。因為SQL只有在運行時才會解析局部變數,但優化程序不能將訪問計劃的選擇推遲到運行時;它必須在編譯時進行選擇。然而,如果在編譯時建立訪問計劃,變數的值還是未知的,因而無法作為索引選擇的輸入項。如下面語句將進行全表掃描:
select id from t where num=@num
可以改為強制查詢使用索引:
select id from t with(index(索引名)) where num=@num

8.應盡量避免在 where 子句中對欄位進行表達式操作,這將導致引擎放棄使用索引而進行全表掃描。如:
select id from t where num/2=100
應改為:
select id from t where num=100*2

9.應盡量避免在where子句中對欄位進行函數操作,這將導致引擎放棄使用索引而進行全表掃描。如:
select id from t where substring(name,1,3)='abc'--name以abc開頭的id
select id from t where datediff(day,createdate,'2005-11-30')=0--'2005-11-30'生成的id
應改為:
select id from t where name like 'abc%'
select id from t where createdate>='2005-11-30' and createdate<'2005-12-1'

10.不要在 where 子句中的「=」左邊進行函數、算術運算或其他表達式運算,否則系統將可能無法正確使用索引。

11.在使用索引欄位作為條件時,如果該索引是復合索引,那麼必須使用到該索引中的第一個欄位作為條件時才能保證系統使用該索引,否則該索引將不會被使用,並且應盡可能的讓欄位順序與索引順序相一致。

12.不要寫一些沒有意義的查詢,如需要生成一個空表結構:
select col1,col2 into #t from t where 1=0
這類代碼不會返回任何結果集,但是會消耗系統資源的,應改成這樣:
create table #t(...)

13.很多時候用 exists 代替 in 是一個好的選擇:
select num from a where num in(select num from b)
用下面的語句替換:
select num from a where exists(select 1 from b where num=a.num)

14.並不是所有索引對查詢都有效,SQL是根據表中數據來進行查詢優化的,當索引列有大量數據重復時,SQL查詢可能不會去利用索引,如一表中有欄位sex,male、female幾乎各一半,那麼即使在sex上建了索引也對查詢效率起不了作用。

15.索引並不是越多越好,索引固然可以提高相應的 select 的效率,但同時也降低了 insert 及 update 的效率,因為 insert 或 update 時有可能會重建索引,所以怎樣建索引需要慎重考慮,視具體情況而定。一個表的索引數最好不要超過6個,若太多則應考慮一些不常使用到的列上建的索引是否有必要。

Ⅸ mysql中sql性能分析方法有哪些

?Show
status
?一些值得監控的變數值:
?Bytes_received和Bytes_sent
?和伺服器之間來往的流量。
?Com_*伺服器正在執行的命令。
?Created_*在查詢執行期限間創建的臨時表和文件。
?Handler_*存儲引擎操作。
?Select_*不同類型的聯接執行計劃。
?Sort_*幾種排序信息。
?Show
session status like 『Select』;
?Show profiles
?SET profiling=1;
?Show
profiles\G
?Show profile;

Ⅹ MySQL 要執行一個SQL 語句 有什麼辦法可以

方法很多。

例如

最常用的是用命令行指令,先登錄mysql資料庫管理系統,然後執行sql語句;

或者使用mysql可視化管理工具如navicat等直接在界面上運行sql查詢語句;

再或者通過應用程序編程連接mysql資料庫並運行sql語句等等。

閱讀全文

與mysqlsql基本常用的方法相關的資料

熱點內容
治療肩周炎的土方法 瀏覽:729
文胸正確的折疊方法 瀏覽:746
海姆立克法個人急救方法圖片 瀏覽:418
appleid在哪裡設置方法 瀏覽:337
sumifs的使用方法及實例 瀏覽:883
第三次復婚的最佳方法 瀏覽:143
明星怎麼增肥方法 瀏覽:467
安卓home虛擬鍵在哪裡設置方法 瀏覽:281
燒傷痛癢用什麼方法治療 瀏覽:984
碧緹福按摩儀使用方法 瀏覽:589
國家隊排球線路專項訓練方法 瀏覽:979
矛盾與解決方法作文 瀏覽:382
排列三計算方法視頻 瀏覽:334
正宗的干條燕窩食用方法 瀏覽:891
米蕎的食用方法是什麼 瀏覽:650
論工作分析的基本方法 瀏覽:92
前列腺癌治療新方法上海 瀏覽:757
怎麼股癬治療方法 瀏覽:100
化學消毒劑的方法有哪些 瀏覽:623
越南蒸雞肉的正確方法 瀏覽:490