1,mysql唯一性約束:
用alter命令,**如下:(表名為user,欄位為name)
alter table user add unique key(`name`);
2,mysql中刪除乙個表中的某字段的unique key的語法:
alter table `table123212` drop index `name1233221`;
3,mysql增加乙個字段:
alter table `table123212` add new_field_id int(5) unsigned default 0 not null auto_increment;
4,mysql登陸遠端資料庫:
mysql -uroot -phehe -h172.22.100.30 -p 3306 -d mydatabase;
5,mysql主鍵自增:
create table t_task_alarm(id bigint(20) primary key not null auto_increment,task_id varchar(64) not null,alarm_id varchar(64) not null);
6,mysql在t_task_alarm中插入資料(當task_id存在於t_task這張表中時):
可參見stackoverflow
insert into t_task_alarm(task_id,alarm_id)select * from(select 'vvhphodyzh3w','asd')as tmp where exists(select task_id from t_task where task_id='vvhphodyzh3w');
mysql插入了('vvhphodyzh3w','asd');
7,查詢t_stu這張表的外來鍵關係:
select * from information_schema.key_column_usage where referenced_table_name='t_stu';
8,檢視檢視view:
show table status where comment='view';
或者select * from information_schema.tables where table_schema='yourdatabasename' and table_type='view';
(說明:這種方法通過系統表查詢,效果同上,顯示資訊更詳細。如果不能正確顯示結果,可能是大小寫的問題,mysql在不同系統平台不同配置引數下的顯示結果可能不同,注意這點。)
9,mysql插入datetime型別的資料:
insert into t_stu(name,date,value) values ('alice','2009-06-08 23:53:17','98');
10,mysql replace into用法:
首先判斷資料是否存在;如果不存在,則插入;如果存在,則更新。
replace into t(id, update_time) values(1, now());
或者replace into t(id, update_time) select 1, now();
11,mysql不支援full outer join,對於不支援全連線full join 的資料庫,可以使用:
select a.col1,a.col2,b.col3 from tab1 a left [outer] join tab2 b on a.pk_tab1 = b.pk_tab1 union all select a.col1,a.col2,b.col3 from tab1 a right [outer] join tab2 b on a.pk_tab1 = b.pk_tab1;
12,mysqldump匯出匯入:
匯出用 mysqldump .. > xx.sql
匯入用 mysql .. < xx.sql
mysqldump -uroot -ppassword -hlocalhost test1>test.sql
mysql -uroot -ppassword -hlocalhost test1
13,mysql移動列的順序:
把user_name移動到password後面:
alter table employee modify user_name varchar(100) after password;
14,mysql的order by:
《sql必知必會》裡面說到order by必須放在sql語句的最後面,但是在有limit的情況下就變了,如果使用
select * from hello limit 0,99 order by create_time;
出錯只能將limit放在order by後面:
select * from hello order by create_time limit 0,99;
15,mysql自動補全命令:
在啟動時使用 mysql –auto-rehash
可以在配置檔案.bashrc或者.zshrc上加上
alias mysql='mysql --auto-rehash'
MySQL 新增唯一約束和聯合唯一約束
在mysql資料庫中,經常會碰到由於業務需要新增唯一鍵約束,唯一鍵約束,可以在乙個列上新增約束,也可以在多個列上新增唯一約束。1.建表時加上唯一性約束 create table t user id int 11 notnull auto increment username varchar 18 n...
mysql 唯一約束 Mysql 唯一性約束新增
一 單列唯一約束 1.建表時加上唯一性約束 create table t user id int 11 not null auto increment,username varchar 18 not null unique,password varchar 18 not null,primary k...
唯一約束,主鍵約束,唯一索引
1.unique約束和primary key約束用來保證同一表中指定的列上沒有重複值,這兩個約束都產生唯一索引確保資料一致性,預設情況下,unique約束產生唯一的非聚集索引,primary key約束產生唯一的聚集索引。primary key約束比unique約束嚴格 primary key列不允...