前言
最近折騰的東西有點多,得多做點筆記,不然忘的太快了。以下為mysql命令模式下敲的sql語句。
常用命令
- 使用資料庫(基於這個資料庫做增刪查改):
mysql> use techinfo;
複製程式碼
- 檢視所有資料庫:
mysql> show databases;
複製程式碼
- 檢視資料庫中的表:
mysql> show tables;
複製程式碼
- 建立資料庫:
mysql> create database techinfo;
複製程式碼
- 建立表:
mysql> create table user(username varchar(20) primary key,password varchar(20) not null);
複製程式碼
- 刪除資料庫(表)(到跑路?):
mysql> drop database(table) dbname(tablename);
複製程式碼
- 向表中插入一條資料:
mysql> insert into user values("asdf","123456");
複製程式碼
- 如果未設定字符集,插入中文可能為亂碼,可以在建立資料庫的時候指定字符集:
mysql> create database mydb character set utf8;
或者:
mysql> alter database mydb character set utf8;
複製程式碼
第二種方法試了,已經存在的表中文還是亂碼,插入也不行(因為亂碼在表中顯示??,繼續插入中文還是??,而第一個是主鍵,所以無法插入),新建的表能正確顯示中文。
- 檢視錶結構:
mysql> show columns from tablename;
mysql> desc tablename;
複製程式碼
- 為表新增註釋:
mysql> alter table tablename comment="註釋";
複製程式碼
- 為已有欄位新增註釋:
mysql> alter table tablename modify column uid varchar(64) comment "唯一標識";
複製程式碼
varchar(64)這個型別,根據自己的實際情況來。
- 檢視註釋:
mysql> show create table user;
複製程式碼
- 刪除一行:
mysql> delete from tablename where uid = 1234
複製程式碼
- 查詢是否有重複的值:
mysql> select count(*) from user where username = 'luo';
複製程式碼
這種查詢方法並非最優的,因為一般插入會查詢是否有重複值的時候,只要有一個重複就不必再查下去了,所以可以這麼寫:
mysql> select 1 from user where username = 'luo' limit 1;
複製程式碼