1. 程式人生 > >MySQL日常操作

MySQL日常操作

ase 新的 開頭 hang 增加 報錯 重新 sign 哪些

< <= >= > = between in 不帶%或者_開頭的like會使用索引操作

1、查看一個字段在哪些表中:

use information_schema;

select table_name form columns where column_name=‘xxx‘

2、查看建表語句

show create table tablename

3、修改列的數據類型

alert table 表名 modify column 列名 新的列的類型

alert table example modify column col1 varchar(10)

只修改列名,或者同時修改列明和列的數據類型

alert table 表名 change column 舊列名 新列名 新的列類型

alert table example change column sname stuname varchar(10)

4、This version of MySQL doesn‘t yet support ‘LIMIT & IN/ALL/ANY/SOME subquery‘的意思是,

這版本的 MySQL 不支持使用 LIMIT 子句的 IN/ALL/ANY/SOME 子查詢,即是支持非 IN/ALL/ANY/SOME 子查詢的 LIMIT 子查詢。

也就是說,這樣的語句是不能正確執行的。

select * from table where id in (select id from table limit 10)

但是,只要你再來一層就行。。如:

select * from table where id in (select t.id from (select * from table limit 10)as t)

5、三張表join

select xxx from (( A left join B on A.id = B.id)

left join C on A.id = C.id

where B.id is not null

select * from A inner join B on A.id = A.id inner join C on B.id = C.id

6、增加一個字段

alert table tablename add column fieldname dataType

7、復制表

create table table2 select * from table1

對表重新命名

alert table table1 rename as table2

修改列的類型

alert table table1 modify id int unsigned

創建索引

create (unique唯一索引)index ide_id on table1 (id)

刪除索引

drop index inx_id on table1

8、linux進入MySQL方式:

1) 進入MySQL安裝目錄下的bin文件夾下,執行./mysql -uroot -p

2)export PATH=/usr/local/mysql/bin:$PATH 這種方法在終端關閉

的時候會失效。

3)vim /ect/profile

在最後添加: export PATH="/usr/local/mysql/bin:$PATH"保存,退出

source /ect/profile 不報錯則成功

1、查看數據庫的連接數:

SELECT summary_id,COUNT(*) AS COUNT FROM pe_project_summary_basic GROUP BY summary_id HAVING COUNT>1;

摘錄於MySQL官網 修改表/數據庫字符編碼 alter database mydb character set utf-8; alter table conf_dictitem convert to character set utf8 4、外鍵示例 CREATE TABLE person ( id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT, name CHAR(60) NOT NULL, PRIMARY KEY (id) ); CREATE TABLE shirt ( id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT, style ENUM(‘t-shirt‘, ‘polo‘, ‘dress‘) NOT NULL, color ENUM(‘red‘, ‘blue‘, ‘orange‘, ‘white‘, ‘black‘) NOT NULL, owner SMALLINT UNSIGNED NOT NULL REFERENCES person(id), PRIMARY KEY (id) ); INSERT INTO person VALUES (NULL, ‘Antonio Paz‘); SELECT @last := LAST_INSERT_ID(); INSERT INTO shirt VALUES (NULL, ‘polo‘, ‘blue‘, @last), (NULL, ‘dress‘, ‘white‘, @last), (NULL, ‘t-shirt‘, ‘blue‘, @last); INSERT INTO person VALUES (NULL, ‘Lilliana Angelovska‘); SELECT @last := LAST_INSERT_ID(); INSERT INTO shirt VALUES (NULL, ‘dress‘, ‘orange‘, @last), (NULL, ‘polo‘, ‘red‘, @last), (NULL, ‘dress‘, ‘blue‘, @last), (NULL, ‘t-shirt‘, ‘white‘, @last); SELECT s.* FROM person p INNER JOIN shirt s ON s.owner = p.id WHERE p.name LIKE ‘Lilliana%‘ AND s.color <> ‘white‘; 3、SELECT @min_price:=MIN(price),@max_price:=MAX(price) FROM shop; SELECT * FROM shop WHERE price=@min_price OR price=@max_price; 1、 匹配語句 SELECT * FROM pet WHERE name REGEXP ‘w‘; 包含w字符, ^w以w開頭的字符, w$以w結尾的字符, ‘^.....$‘ 長度為五個字符(如果是中文的話,一個中文為3個...,即一個中文占三個字符), ‘^.{6}$‘ 同上一個一樣的作用 2、LOAD DATA LOCAL INFILE ‘event.txt‘ INTO TABLE event 將TXT文件 導入event表中 在Linux執行sql文件,source xxx.sql CREATE TABLE shop ( article INT(4) UNSIGNED ZEROFILL DEFAULT ‘0000‘ NOT NULL, dealer CHAR(20) DEFAULT ‘‘ NOT NULL, price DOUBLE(16,2) DEFAULT ‘0.00‘ NOT NULL, PRIMARY KEY(article, dealer)); INSERT INTO shop VALUES (1,‘A‘,3.45),(1,‘B‘,3.99),(2,‘A‘,10.99),(3,‘B‘,1.45), (3,‘C‘,1.69),(3,‘D‘,1.25),(4,‘D‘,19.95);

MySQL日常操作