❶ mysql免安裝版環境變數怎麼配置
方法/步驟:
MySQL安裝文件分為兩種,一種是msi格式的,一種是zip格式的。如果是msi格式的可以直接點擊安裝,按照它給出的安裝提示進行安裝(相信大家的英文可以看懂英文提示),一般MySQL將會安裝在C:\Program Files\MySQL\MySQL Server 5.6 該目錄中;zip格式是自己解壓,解壓縮之後其實MySQL就可以使用了,但是要進行配置。
解壓之後可以將該文件夾改名,放到合適的位置,個人建議把文件夾改名為MySQL Server 5.6,放到C:\Program Files\MySQL路徑中。當然你也可以放到自己想放的任意位置。
完成上述步驟之後,很多用戶開始使用MySQL,但會出現圖示的錯誤。這是因為沒有配置環境變數所致。
配置環境變數很簡單:
我的電腦->屬性->高級->環境變數
選擇PATH,在其後面添加: 你的mysql bin文件夾的路徑 (如:C:\Program Files\MySQL\MySQL Server 5.6\bin )
PATH=.......;C:\Program Files\MySQL\MySQL Server 5.6\bin (注意是追加,不是覆蓋)
配置完環境變數之後先別忙著啟動mysql,我們還需要修改一下配置文件(如果沒有配置,之後啟動的時候就會出現圖中的錯誤哦!:錯誤2 系統找不到文件),mysql-5.6.1X默認的配置文件是在C:\Program Files\MySQL\MySQL Server 5.6\my-default.ini,或者自己建立一個my.ini文件,
在其中修改或添加配置(如圖):
[mysqld]
basedir=C:\Program Files\MySQL\MySQL Server 5.6(mysql所在目錄)
datadir=C:\Program Files\MySQL\MySQL Server 5.6\data (mysql所在目錄\data)
以管理員身份運行cmd(一定要用管理員身份運行,不然許可權不夠),
輸入:cd C:\Program Files\MySQL\MySQL Server 5.6\bin進入mysql的bin文件夾(不管有沒有配置過環境變數,也要進入bin文件夾,否則之後啟動服務仍然會報錯誤2)
輸入mysqld -install(如果不用管理員身份運行,將會因為許可權不夠而出現錯誤:Install/Remove of the Service Denied!)
安裝成功
❷ 如何使用mysql
你好,
方法/步驟
1
登陸mysql
打cmd命令終端,如果已經添加了mysql的環境變數,可以直接使用命令
mysql -uroot
直接回車,之後按提示輸入密碼,
如果未添加mysql的環境變數,可以切換到mysql的安裝目錄下的bin目錄,再使用
mysq -uroot
你也可以手動為mysql添加環境變數。這里就不介紹怎麼添加環境變數的方法了
密碼輸入正確之後,就會出現「Welcome to the MySQL monitor. Commands end with ; or \g. ......」字樣,
命令行出現「mysql>」字元前綴。現在你就可以使用命令對mysql進行操作了。曾經有沒有過這樣的經歷,原來看見別人在命令行裡面咔咔的猛敲時,就一通的崇拜,覺得這人很牛,現在你也可以讓別一通崇拜了。
mysql的所有命令都以";"或者\g為結束符
2
新建資料庫
在新建資料庫之後,我們先設置一下字元集
mysql>SET NAMES utf8;
然後再創建資料庫
mysql>CREATE DATABASE lesson
3
顯示所有資料庫
mysql>SHOW DATABASES;
4
使用資料庫
mysql>USE 資料庫名;
5
新建表
mysql>CREATE TABLE study(
id int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '學生id號',
username varchar(30) NOT NULL DEFAULT '' COMMENT '學生名字',
class tinyint(3) unsigned NOT NULL,
sex enum('男','女','保密') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '保密' COMMENT '性別',
addtime int(10) NOT NULL DEFAULT '0',
PRIMARY KEY (id)
)ENGINE=InnoDB COMMENT = '學生表';
6
顯示所有表
mysql>SHOW TABLES;
7
修改表的名稱
mysql>RENAME TABLE study TO study_new ;
或者
mysql>ALTER TABLE study_new RENAME TO study;
8
顯示欄位信息
SHOW COLUMNS FROM study或者DESCRIBE study
9
插入數據
mysql> insert into study (username,class,sex)VALUES('小王',1,'男'),('小四',2,'女');
10
查詢數據(使concat函數拼接數據)
mysql> SELECT username,CONCAT(class,'班'),sex FROM study;
11
刪除數據
mysql>DELETE FROM study WHERE id=1;
12
刪除數據表
DROP TABLE study;
13
刪除資料庫
mysql> DROP DATABASE lesson;
❸ mysql 怎麼定義變數
一、局部變數
局部變數一般用在sql語句塊中,比如存儲過程的begin/end。其作用域僅限於該語句塊,在該語句塊執行完畢後,局部變數就消失了。
局部變數一般用declare來聲明,可以使用default來說明默認值。
二、用戶變數
用戶變數的作用域要比局部變數要廣。用戶變數可以作用於當前整個連接,但是當當前連接斷開後,其所定義的用戶變數都會消失。
用戶變數使用如下(這里我們無須使用declare關鍵字進行定義,可以直接這樣使用):
select @變數名
對用戶變數賦值有兩種方式,一種是直接用"="號,另一種是用":="號。其區別在於使用set命令對用戶變數進行賦值時,兩種方式都可以使用;當使用select語句對用戶變數進行賦值時,只能使用":="方式,因為在select語句中,"="號被看作是比較操作符。
❹ mysql 變數如何設定
變數總體分為兩大類:procere內部和非procere內部;
procere內用declare 聲明,作用域僅限於聲明的procere。
另一類就是通常意義上的變數,分為全局(global)和局部(session),用select 或者 set聲明,作用域分別是全局和回話級別。
❺ mysql 變數設置問題
mysql變數的術語分類:
1.用戶變數:以"@"開始,形式為"@變數名"
用戶變數跟mysql客戶端是綁定的,設置的變數,只對當前用戶使用的客戶端生效
2.全局變數:定義時,以如下兩種形式出現,set
GLOBAL
變數名
或者
set
@@global.變數名,對所有客戶端生效。只有具有super許可權才可以設置全局變數
3.會話變數:只對連接的客戶端有效。
4.局部變數:作用范圍在begin到end語句塊之間。在該語句塊里設置的變數
declare語句專門用於定義局部變數。set語句是設置不同類型的變數,包括會話變數和全局變數
通俗理解術語之間的區別:
用戶定義的變數就叫用戶變數。這樣理解的話,會話變數和全局變數都可以是用戶定義的變數。只是他們是對當前客戶端生效還是對所有客戶端生效的區別了。所以,用戶變數包括了會話變數和全局變數
局部變數與用戶變數的區分在於兩點:
1.
用戶變數是以"@"開頭的。局部變數沒有這個符號。
2.
定義變數不同。用戶變數使用set語句,局部變數使用declare語句定義
3.
作用范圍。局部變數只在begin-end語句塊之間有效。在begin-end語句塊運行完之後,局部變數就消失了。
所以,最後它們之間的層次關系是:變數包括局部變數和用戶變數。用戶變數包括會話變數和全局變數。
使用備忘,set
@var
若沒有指定GLOBAL
或SESSION
,那麼默認將會定義用戶變數
兩種方式定義用戶變數:
1."=",如
set
@a
=3,@a:=5
2.":="。select常常這樣使用
總結:使用select
和set設置變數的區別,set可以使用以上兩種形式設置變數。而select只能使用":="的形式設置變數
實踐積累:用戶變數在mysql客戶端退出後,會自動消失。之後我打開客戶端,使用"select
@a;"
顯示變了的值為null。說明,未定義的變數初始化是null
實際中的問題
設置常量對group_concat()的配置影響:
SET
@@GROUP_CONCAT_MAX_LEN=4
手冊中提到設置的語法是這樣的:
SET
[SESSION
|
GLOBAL]
group_concat_max_len
=
val;
以下兩種形式都能達到達到同樣的效果,但是有什麼區別?
SET
@@global.GROUP_CONCAT_MAX_LEN=4;
global可以省略,那麼就變成了:SET
@@GROUP_CONCAT_MAX_LEN=4;
2011.2.25
之前的理解不怎麼准確。現在對加深理解後的地方進行總結。
mysql中變數的層次關系是:大體包括用戶變數和系統變數。系統變數包括系統會話變數和系統全局變數。
相互之間的區別:
因為用戶變數就是用戶定義的變數,系統變數就是mysql定義和維護的變數。所以,用戶變數與系統變數的區別在於,是誰在管理這些變數。mysql一啟動的時候就會讀取系統變數(這樣做目的是可以確定mysql的以何種機制或模式運行)。
系統會話變數與用戶變數都是在當前客戶端退出後消失。他們之間的區別可以這樣理解,雖然常常看到"set
@@varible"的形式去改變系統變數的值,但是並不涉及到定義系統變數。用戶變數是可以自己定義(初始化)。系統變數按照只是在改變值。
局部變數只在begin-end語句塊中定義並有效。執行到該語句塊之後就消失了。定義的方式有明顯的特點,使用declare語句。
使用系統變數理論上是可以使用兩種形式:
1.
前面帶有符號"@@"
2.
符號省略。比如我會看的如下形式:CURRENT_USER。但是,約定系統變數要使用"@@變數名"的形式,就是在前面加上符號"@@"
❻ mysql裡面是怎麼試用表變數的
mysql有臨時表:create temporary table if not exists {表定義}--關鍵字」temporary「指示mysql創建會話級別的臨時表。
臨時表只對當前會話可見,連接斷開時,自動刪除!
你不必擔心所創建的臨時表的名稱會和其他會話建立的臨時表、或非臨時表沖突!注意如果你的臨時表和正常表名稱相同,正常表會被隱藏——如同全局變數和局部變數那樣
創建臨時表不會引發通常的commit事務提交
使用臨時表的諸多限制
引擎類型只能是:memory(heap)、myisam、merge、innodb
不支持mysql cluster
同一個查詢語句中只能引用一次! 如 SELECT * FROM TP_TABLE , TP_TABLE AS ALIAS_NAME;是錯誤的
同一個用戶存儲函數中只能引用一次!
show tables 不會顯示臨時表
不能使用rename重命名臨時表。只能使用ALTER TABLE OLD_TP_TABLE_NAME RENAME NEW_TP_TABLE_NAME;
影響使用replication功能
mysql伺服器自動使用的內部臨時表
在某些情況下,mysql伺服器會自動創建內部臨時表:該臨時表可以是只存在於內存的memory臨時表,或者是存儲於硬碟的myisam臨時 表;而且 初始創建的memory臨時表由於表的增大 可能會轉變為myisam臨時表——其轉化臨界點由max_heap_table_size 和tmp_table_size系統變數的 較小值 決定的!注意:max_heap_table_size系統變數應用於所有的memory引擎的表,不管是用戶臨時表、正常表、或者內部臨時表。
內部臨時表的創建條件:
group by 和 order by中的列不相同
order by的列不是引用from 表列表中 的第一表
group by的列不是引用from 表列表中 的第一表
使用了sql_small_result選項
含有distinct 的 order by語句
初始創建內部myisam臨時表的條件:
表中存在text、blob列
在group by中的 列 有超過512位元組
在distinct查詢中的 列 有超過512位元組
在union、union all聯合查詢中,select 列 列表中的 列 有超過512位元組的
如何判斷某個查詢是否會產生內部臨時表:使用explain查看執行計劃,檢查extra列看是否使用臨時表「using temporary」
❼ MYSQL中使用存儲過程中,變數怎麼使用
create procere p
@a char(15)
as
begin
insert into @a (name)
values ('zhangsan')
end
❽ mysql環境中,如何用sql語句給字元串變數賦值
mysql給字元串變數賦值的方法是用select into 變數結構完成賦值。
使用sql的結構語法:
SELECT ... INTO var_list selects column values and stores them into variables.
比如定義一個sql變數:
@x varchar(10);
@y varchar(20);
select id,name INTO @x,@y from dx_tt
這樣就完成了賦值。