Mysql常用命令
DDL 操作(数据库操作)
创建数据库
create database testdb;
数据表减少列
ALTER TABLE class DROP col_1;
显示数据库
show databases;
选择数据库
use testdb;
删除数据库
drop database testdb;
删除数据表
drop table <表名>;
数据库信息
select version(); // 显示mysql版本
select now(); // 显示当前时间
select current_date; // 显示年月日
DML 操作(数据表操作)
字段名 | 数据类型 | 是否为空 | 约束 | 默认值 | 备注 |
---|---|---|---|---|---|
id | int | 否 | 主键 | 自增 | |
name | varchar | 否 | |||
sex | varchar | 否 | |||
degree | varchar | 是 |
创建表
create table class(
id int(4) not null primary key auto_increment comment '主键',
name varchar(20) not null comment '姓名',
sex varchar(4) not null default '0' comment '性别',
degree varchar(20) default null comment '学历');
查看表结构
desc class;
插入表数据
insert into class(name,sex,degree) values('charles','1','80.5');
插入多条数据
insert into class(name,sex,degree) values('charles','1','80.5'),('tom','1','80.5');
查询表数据
select * from class;
带选择的查询表结构
select * from class where name="zsy";
模糊查询
符号 | 含义 |
---|---|
% | 任意多种字符且可以出现任意次数 |
_ | 单个字符 |
查询所有以z开头的名字
select * from class where name like "z%";
查询所有不是以z开头的名字
select * from class where name not like "z%";
查询只有两个字的名字
select * from class where name like "__"
正则表达式查询
- 正则表达式匹配的是字符串,所以只要在字符串中有一部分符合规则,则为true,而Sql中的like只有全部字符串符合规则,则为true。
- 如果要用正则表达式与全部的字符比较,则需要用^开头,&结尾。
连接表
select * from class,class1 where class.name=class1.name;
子查询
select * from class where id in (select id from class1)
分类统计
select count(*) from class sort by sex="man";
表的删除
delete from class where id > 20
通过内连接删除多个表的数据
delete from class inner join class1 on class.id=class2.id
表的更新
update 表名 set 属性1=value1,属性2=value2 where 限定条件
UPDATE class SET degrade='postundergrade' WHERE id=1;
导出数据库
mysqldump -u 用户名 –p 数据库名 > 导出的文件名;