① mysql用的是什麼解析語法
我也是剛開始學mysql,下面是我從網上找到的,我剛才試過了,可以, 我的是mysql5.0的
mysql 伺服器支持 # 到該行結束、-- 到該行結束 以及 /* 行中間或多個行 */ 的注釋方格:
mysql> SELECT 1+1; # 這個注釋直到該行結束
mysql> SELECT 1+1; -- 這個注釋直到該行結束
mysql> SELECT 1 /* 這是一個在行中間的注釋 */ + 1;
mysql> SELECT 1+
/*
這是一個
多行注釋的形式
*/
1;
注意 -- (雙長劃) 注釋風格要求在兩個長劃後至少有一個空格!
盡管伺服器理解剛才描述的注釋句法,但 MySQL 客戶端的語法分析在 /* ... */ 注釋方式上還有所限止:
單引號和雙引號被用來標志一個被引用字元串的開始,即使是在一個注釋中。如果注釋中的引號沒有另一個引號與之配對,那和語法分析程序就不會認為注釋結束。如果你以互動式運行 mysql,你會產生困惑,因為提示符從 mysql> 變為 '> 或 ">。
② mysql中while循環的基本語法怎麼編寫
基本語法
while 條件 do
要循環執行的代碼;
end while;
結構標識符
基本語法
標識名:while 條件 do
要循環執行的代碼;
end while 標識名;
③ mysql 觸發器語法
mysql 的sql語句如下:
mysql> delimiter //
-> create trigger sitedata_ins2
-> before insert on user
-> for each row
-> Begin
-> If not exists(select 1 from user_data where d_id=new.id) then
-> insert into user_data(d_id,d_name) values(new.id,new.name);
-> END IF;
-> end;//
-> delimiter ;
或者簡單一點:
mysql> delimiter //
-> create trigger sitedata_ins2
-> before insert on user
-> for each row
-> Begin
-> insert into user_data(d_id,d_name) values(new.id,new.name);
-> end;//
-> delimiter ;
二種方法都可以,建議你用第一種
④ mysql 語法
SELECT * FROM pp_transactions WHERE
corp_name = 'Starwood Hotels & Resorts' AND trans_date LIKE '%2013-03%' AND status IN ('4','5');
也可以採用 status = '4' or status ='5'
在寫sql 的時候可以加括弧(status='4' or status='5')也可以不加括弧
⑤ mysql中增刪改查語法是什麼
select欄位名(多個欄位可以用,隔開*標示全部)from表名where條件
insertinto表名(欄位名1,欄位名2)values('數值1','數值2')
語法:update表名set欄位名1='更新的值',欄位名2='更新的值'where條件
deletefrombiaowhere條件
基本上就這四個基本的語法了,如果你覺的有用,就採納吧
⑥ mysql的語法是否正確
有. 基本語法: CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] VIEW view_name [(column_list)] AS select_statement [WITH [CASCADED | LOCAL] CHECK OPTION] 示例: mysql> CREATE TABLE t (qty INT, price INT); mysql> INSERT INTO t VALUES(3, 50); mysql> CREATE VIEW v AS SELECT qty, price, qty*price AS value FROM t; mysql> SELECT * FROM v; +------+-------+-------+ | qty | price | value | +------+-------+-------+ | 3 | 50 | 150 | +------+-------+-------+
⑦ mysql語法需要記嗎
需要的,不可能一邊開發一邊看手冊,其實常用的語法也不多,我學的時候一個星期就記得差不多了
⑧ MYSQL 語法求助
你好,很高興回答你的問題。
需求中的存在則修改,不存在則插入。
可以用replace語句實現。
比如
replace into wy_card(card,name,balance) values ('91389','名字',200);
如果有幫助到你,請點擊採納。
我解答的大部分是軟體開發新人的問題,如果有興趣可以關注我。
⑨ mysql 語句
Mysql有自己的語法的
看看教程吧
1. 連接mysql:
mysqlbinmysql -h主機地址 -u 用戶名 -p 用戶密碼
2.退出mysql:exit
3. 修改密碼:
mysqlbinmysqladmin -uroot -p(oldpassword) password newpassword
4.增加用戶:
添加一個用戶test1 密碼為ABC;讓他可以在任何主機上登錄,並對所有資料庫有查詢、插入、修改、刪除的許可權。首先用以root用戶連入
mysql,然後鍵入以下命令:grant select,insert,update,delete on *.* to test1@"%" Identified
by "abc";
增加一個用戶test2密碼為abc,讓其只可以在localhost上登錄,並可以對資料庫mydb進行查詢、插入、修改、刪除的操作(localhost指本地
主機,即mysql資料庫所在的那台主機),這樣用戶即使用知道test2的密碼,也無法從internet上直接訪問資料庫,只能通過mysql主機上的web頁
來訪問了。grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";
增加一個可以從任何地方連接伺服器的一個完全的超級用戶
grant all privileges on *.* to test3@"%" identified by 'password' with grant option;
5.刪除授權
revoke select,insert,update,delete om *.* from test2@localhost ;
--------------------------------------------------------
6.顯示資料庫
show databases;
7.顯示資料庫中的表
use dataname;
show tables;
8.顯示表的結構
describe tablesname;
9.建庫
create database 庫名;
10.建表
use dataname;
create table teacher //建立表TEACHER
(
id int(3) auto_increment not null primary key,
name char(10) not null,
address varchar(50) default '深圳',
year date
); //建表結束
//以下為插入欄位
insert into teacher values('','glchengang','深圳一中','1976-10-10');
insert into teacher values('','jack','深圳一中','1975-12-23');
註:在建表中
(1) 將ID設為長度為3的數字欄位:int(3),並讓它每個記錄自動加一: auto_increment,
並不能為空:not null,而且讓它成為主欄位primary key
(2) 將NAME設為長度為10的字元欄位
(3) 將ADDRESS設為長度50的字元欄位,而且預設值為深圳。varchar和char有什麼區別
呢,只有等以後的文章再說了。
(4) 將YEAR設為日期欄位。
如果你在mysql提示符鍵入上面的命令也可以,但不方便調試。 你可以將以上命令
原樣寫入一個文本文件中假設為school.sql,然後復制到c:下,並在DOS狀態進入目錄
mysql in,然後鍵入以下命令:
mysql -uroot -p密碼 < c:school.sql
如果成功,空出一行無任何顯示;如有錯誤,會有提示。(以上命令已經調試,你
只要將//的注釋去掉即可使用)。
11.刪除庫和刪除表
drop dataname;
drop tablename;
12.將表中的記錄清空
delete from tablename;
13.顯示表中的記錄
select * from tablename;
14.表重命名
alter table t1 rename t2
---------------------------------------------------------
15. 備份資料庫
mysqlbinmysqlmp -h(ip) -uroot -p(password) databasename > database.sql
16. 恢復資料庫
mysqlbinmysql -h(ip) -uroot -p(password) databasename < database.sql
17.復制資料庫
mysqlmp --all-databases > all-databases.sal
18.備份表
mysqlbinmysqlmp -h(ip) -uroot -p(password) databasename tablename > tablename.sql
19.恢復表(操作前先把原來的表刪除)
mysqlbinmysql -h(ip) -uroot -p(password) databasename tablename < tablename.sql
----------------------------------------------------------
20.為了改變列a,從INTEGER改為TINYINT NOT NULL(名字一樣),
並且改變列b,從CHAR(10)改為CHAR(20),同時重命名它,從b改為c:
ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20);
增加一個新TIMESTAMP列,名為d:
ALTER TABLE t2 ADD d TIMESTAMP;
在列d上增加一個索引,並且使列a為主鍵:
ALTER TABLE t2 ADD INDEX (d), ADD PRIMARY KEY (a);
刪除列c:
ALTER TABLE t2 DROP COLUMN c;
增加一個新的AUTO_INCREMENT整數列,命名為c:
ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT,ADD INDEX (c);
注意,我們索引了c,因為AUTO_INCREMENT柱必須被索引,並且另外我們聲明c為NOT NULL,
因為索引了的列不能是NULL
---------------------------------------------------------------
21.數據的導入導出
A。mysqlimport
語法:mysqlbinmysqlimport database tables.txt( 文件名需要與表名相同)
參數:-d or --delete 新數據導入數據表中之前刪除數據數據表中的所有信息;
-f or --force 不管是否遇到錯誤,mysqlimport將強制繼續插入數據;
-i or --ignore mysqlimport跳過或者忽略那些有相同唯一關鍵字的行, 導入文件中的數據將被忽略;
-l or -lock-tables 數據被插入之前鎖住表,這樣就防止了, 你在更新資料庫時,用戶的查詢和更新受到影響;
--fields-enclosed- by= char
指定文本文件中數據的記錄時以什麼括起的, 很多情況下數據以雙引號括起。 默認的情況下數據是沒有被字元括起的。
--fields-terminated- by=char
指定各個數據的值之間的分隔符,在句號分隔的文件中,分隔符是句號。您可以用此選項指定數據之間的分隔符。默認的分隔符是跳格符
(Tab)
--lines-terminated- by=str
此選項指定文本文件中行與行之間數據的分隔字元串 或者字元。 默認的情況下mysqlimport以newline為行分隔符。 您可以選擇用一個字
符串來替代一個單個的字元: 一個新行或者一個回車。
mysqlimport命令常用的選項還有-v 顯示版本(version), -p 提示輸入密碼(password)等。
--------------------------------------------------------------
22.常用插入、修改、刪除語句
插入記錄:insert into teacher values('','glchengang','深圳一中','1976-10-10');
修改記錄:update mytable set single=′y′ where name=′abccs′;
刪除記錄:delete from mytable where name=′abc′;
⑩ MYSQL語句語法
學習MYSQL之認真掌握SELECT語句的使用方法,SELECT語句是我們經常用到的!應該熟練加以掌握!
本文針對MySQL資料庫中的SELECT語句快速精細掌握。
MySQL中SELECT語句的基本語法是:
SELECT [STRAIGHT_JOIN] [SQL_SMALL_RESULT]
[SQL_BIG_RESULT] [HIGH_PRIORITY]
[DISTINCT|DISTINCTROW|ALL]
select_list
[INTO {OUTFILE|DUMPFILE} 'file_name' export_options]
[FROM table_references [WHERE where_definition]
[GROUP BY col_name,...] [HAVING where_definition]
[ORDER BY {unsighed_integer|col_name|formura} [ASC|DESC],...]
[LIMIT [offset,] rows] [PROCEDURE procere_name]]
從這個基本語法可以看出,最簡單的SELECT語句是SELECT select_list,實際上利用這個最簡單的SELECT語句,你也可以完成許多你期待的功能,首先你能利用它進行MySQL所支持的任何運算,例如:SELECT 1+1,它將返回2;其次,你也能利用它給變數賦值,而在PHP中,運用SELECT語句的這種功能,你就可以自由地運用MySQL的函數為PHP程序進行各種運算,並賦值給變數。在很多的時候,你會發現MySQL擁有許多比PHP更為功能強大的函數。
STRAIGHT_JOIN、SQL_SMALL_RESULT、SQL_BIG_RESULT、HIGH_PRIORITY是MySQL對ANSI SQL92的擴展。如果優化器以非最佳次序聯結表,使用STRAIGHT_JOIN可以加快查詢。
SQL_SMALL_RESULT和SQL_BIG_RESULT是一組相對的關鍵詞。它們必須與GROUP BY、DISTINCT或DISTINCTROW一起使用。SQL_SMALL_RESULT告知優化器結果會很小,要求MySQL使用臨時表存儲最終的表而不是使用排序;反之,SQL_BIG_RESULT告知優化器結果會很小,要求MySQL使用排序而不是做臨時表。
HIGH_PRIORITY將賦予SELECT比一個更新表的語句更高的優先順序,使之可以進行一次優先的快速的查詢。
以上四個關鍵詞的使用方法的確比較晦澀。幸運的是,在絕大多數情況下,在MySQL中我們完全可以選擇不使用這四個關鍵詞。
DISTINCT、DISTINCTROW對查詢返回的結果集提供了一個最基本但是很有用的過濾。那就是結果集中只含非重復行。在這里要注意的是,對關鍵詞DISTINCT、DISTINCTROW來說,空值都是相等的,無論有多少NULL值,只選擇一個。而ALL的用法就有畫蛇添足之嫌了。它對結果集的產生沒有任何影響。
INTO {OUTFILE|DUMPFILE} 'file_name' export_options,將結果集寫入一個文件。文件在伺服器主機上被創建,並且不能是已經存在的。語句中的export_options部分的語法與用在LOAD DATAINFILE語句中的FIELDS和LINES子句中的相同,我們將在MySQL進階_LOAD DATA篇中詳細討論它。而OUTFILE與DUMPFILE的關鍵字的區別是:後前只寫一行到文件,並沒有任何列或行結束。
Select list:其中可以包含一項或多項下列內容:
1、「*」,表示按照create table的順序排列的所有列。
2、按照用戶所需順序排列的列名的清單。
3、可以使用別名取代列名,形式如下:column name as column_heading。
4、表達式(列名、常量、函數,或以算術或逐位運算符連接的列名、常量和函數的任何組合)。
5、內部函數或集合函數。
6、上述各項的任何一種組合。