SQL語句筆記

前言

最近折騰的東西有點多,得多作點筆記,否則忘的太快了。如下爲mysql命令模式下敲的sql語句。mysql

經常使用命令

  • 使用數據庫(基於這個數據庫作增刪查改):
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;
複製代碼

第二種方法試了,已經存在的表中文仍是亂碼,插入也不行(由於亂碼在表中顯示??,繼續插入中文仍是??,而第一個是主鍵,因此沒法插入),新建的表能正確顯示中文。sql

  • 查看錶結構:
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';
複製代碼

這種查詢方法並不是最優的,由於通常插入會查詢是否有重複值的時候,只要有一個重複就沒必要再查下去了,因此能夠這麼寫:ui

mysql> select 1 from user where username = 'luo' limit 1;
複製代碼
相關文章
相關標籤/搜索