mysql 的用法 Mysql一些基礎用法

2021-10-18 08:28:56 字數 3063 閱讀 5760

mysql建檢視:

create view view_name as select * from table1;

alter view view_name as select * from table1;

建觸發器

create trigger trig_name

before insert on table_name

for each row

begin

insert into table2 set field2 = new.field1;

delete from table3 where field3 = new.field1;

update table4 set field4 = field4+1 where field4 = new.field1;

endtable_name必須是永久性表,不能是檢視或臨時表

trigger_time可為:before,after

trigger_event可為:insert,update,delete

建儲存過程:

create procedure storage_proc(in onumber int, out ototal decimal(8, 2) )

declare var_name int default 0;

begin

select sum(item_price* quantity) from orderitems where order_num = onumber into ototal;

end;

呼叫時: call storage_proc(5)

建索引(index):

create [unique|fulltext|primary] index index_name on tbl_name (index_col_name(length));

注:對於blob、text等長度可變的型別,必須指定length;

alter table_name add unique index_name on (username(length));

建事務(transaction):

以下為乙個表鎖(從t1讀取並更新t2為乙個原子操作)

lock tables t1 read, t2 write;

select sum(field1) from t1 where customer_id = certain_value;

update t2 set field3 = summ where customer_id = certain_value;

unlock tables;

新增使用者:

create user user_name identified by 'password';

授權命令:

grant select[,update][,delete] on table_name to user_name;

grant all privileges on *.* to dbuser_name;

grant all privileges on *.* to dbuser_name@localhost with grant option;

grant all privileges on *.* to dbuser_name@'%' with grant option;

建立新使用者並授予許可權

grant all privileges on *.* to dbuser_name@'%' identified by 'password' with grant option; flush privileges;

資料匯入:

1. $ mysql db_name -u root -p < data.sql

2. mysql> source data.sql

3. $ mysqlimport -u root -p -h 10.21.0.96 db_name data.sql

4. mysql>load data file data.sql into table table_name

注:mysqlimport [-d/f/i/r/--field-terminated-by=char/--line-terminated-by=char/-lock-tables/]

[匯入前清空/遇錯仍繼續/key重複則跳過/key重複則替換/字段隔離符/行隔離符/資料被插入之前鎖表]

資料匯出:

1. mysqldump -u root -p db_name > data.sql 即將資料庫db_name的資料全部匯出至data.sql檔案中

2. select * from table_name into outfile data.sql 或 select * into outfile data.sql from table_name

資料備份: backup table table_name to '/home/mysqldb/backup/'

資料恢復: restore table table_name from '/home/mysqldb/backup/'

[mysql配置及優化]

對mysql配置的修改,可以改/etc/mysql/my.cnf檔案

檢視某屬性當前的值: mysql> show variables like '%query_cache%';

[儲存引擎]

建立表時可以指定其儲存引擎的型別: create table student(sno int(not null), sname char(20)) engine = innodb; 亦可修改: alter table student engine = myisam;

innodb與myisam兩者的比較:

1. myisam不支援事務、外來鍵約束等高階特性,innodb則支援;

2. myisam效能更好,執行速度快,innodb則強調安全性;

3. myisam支援表級鎖定,innodb則進一步支援行級鎖定;

4. 儲存相同的內容,myisam所需的儲存空間比innodb少;

5. myisam支援全文索引,而innodb不支援;

php.ini檔案位於 /etc/php5/apache2

apache專案目錄:/var/www/

MySql的一些用法

1.怎樣找到mysql資料的儲存目錄?答 從服務中檢視正在執行的mysql,檢視它的啟動引數,可能是這個樣子 d program files mysql mysql server 5.7 bin mysqld.exe defaults file d programdata mysql mysql s...

mysql的高階用法 mysql的一些高階用法

軟體安裝 裝機軟體必備包 sql是structured query language 結構化查詢語言 的縮寫。sql是專為資料庫而建立的操作命令集,是一種功能齊全的資料庫語言。在使用它時,只需要發出 做什麼 的命令,怎麼做 是不用使用者考慮的。sql功能強大 簡單易學 使用方便,已經成為了資料庫操作...

一些重要的mysql語句用法

1.增加乙個字段 一列 alter tabletable nameadd columncolumn name type default value type指該字段的型別,value指該字段的預設值 例如 alter tablemybookadd columnpublish house varcha...