MySql数据库操作命令

net start mysql,net stop mysql 开/关数据库
\s 查看mysql版本信息

  1. mysql -uroot -proot 登录mysql
  2. show databases 查看数据库
  3. use databaseName 选择数据库
  4. show tables 列出表格
  5. show columns from tableName 显示表格列的属性
  6. desc tables 查看表字段

字段管理

  1. 添加字段
    alter table user add age tinyint unsigned not null
    alter table user add pass varchar(30) not null after user
    alter table user add pass varchar(30) not null first
  2. 删除字段
    alter table user drop password
  3. 修改字段
    alter table user modify username varchar(30) not null
    alter table user change username user varchar(30) not null
  4. 查看表字段
    desc user

索引

  1. 主键
  • 添加
create table user2(
id int unsigned not null auto_increment,
username varchar(30) not null,
primary key(id)
); 
create table user2(
id int unsigned not null auto_increment primary key,
username varchar(30) not null
); 
  • 删除
    alter table user2 modify id int unsigned not null
    alter table user2 drop primary key
  1. 唯一
  • 添加
    alter table user2 add unique u_username(username)
  • 删除
    alter table user2 drop index u_username
  1. 普通
  • 添加
    alter table user2 add index i_username(username)
  • 删除
    alter table user2 drop index i_username

数据库操作

  1. DCL //数据控制语言,grant,commit,rollback
  2. DDL //数据定义语言,create,drop,alter
  3. DML //数据操作语言,insert,update,delete
  4. DQL // 数据查询语言,select

判断sql语句的检索效率
desc select * from 表名 where id=5 (\G);

增-insert
insert into 表名(字段名) values (‘值’);

删-delete
delete from 表名 where id=5

改-update
update 表名 set 字段名='修改值' where id=2

查-select
select * from 表名

查询表中所有字段以及每个字段所对应的所有记录

查询一般优化:

  1. 查单列的速度要优于多列
  2. 查主键索引的列中的所有值要比其他列速度快
    distinct 取相同值
    between and 什么之间
    in()、or、and as
    like %匹配所有 _匹配一个字符 模糊搜索
    order by asc升序(从小到大) dsec降序(从大到小)
    limit 分页
    delete与truncate的区别
  3. delete 清空表数据,但不会清除计数器(自增)
  4. truncate 清空表数据,同时会清除计数器(自增)

concat() 连接函数
rand() 随机数函数
count(*) 表总行数
sum() 求和函数
avg() 平均值
max() 最大值
min() 最小值
group by 分组聚合的使用
unix_timestamp() 时间戳
from_unixtime() 转换时间戳

多表查询
select user.username,user.age,class.name,class.ctime from user,class where user.class_id=class.id

/** 在此感谢 LQQ 老师 **/

你可能感兴趣的:(MySql数据库操作命令)