前言
最近折腾的东西有点多,得多做点笔记,不然忘的太快了。以下为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;复制代码