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;
复制代码
相关文章
相关标签/搜索