mysql常用命令
命令 |
说明 |
mysql -uroot -p |
登录数据库。 -u后边是用户名 -p后面是密码 |
show now(); |
显示时间 |
quit 或 exit 或ctrl+d |
退出数据库 |
数据库登陆后的操作语句
命令 |
说明 |
show databases; |
查看所有数据库 |
create database数据库名 charset=utf8; |
创建数据库 |
use 数据库名; |
使用数据库名 |
drop database; |
删除数据库 |
表结构操作的sql语句
命令 |
作用 |
show tables |
查看数据库中所有的表 |
create table 表名(字段名称 数据类型 可选的约束条件) 即 create table students(height decimal(5,2); |
创建表 |
alter table 表名 add 列名 类型 约束 ; 即 alter table students add birthday datetime; |
修改表-添加字段 |
alter table 表明 modify 列名 类型 约束 ; |
修改表-修改字段类型 modify:只能修改字段类型或者约束,不能修改字段名 |
alter table 表名 change 原名 新名 类型及约束; |
修改表-修改字段名和字段类型 change:既能对字段重命名又能修改字段类型还能修改约束 |
alter table 表名 add 字段名 类型 |
插入字段 |
alter table 表名 drop 列名 ; |
修改表-删除字段 |
show create database 数据库名; |
查看创库sql语句 |
drop table 表名; |
删除表 |
source xxx.sql; |
批量导入数据 |
表数据操作的SQL语句
命令 |
作用 |
select * from 表名; |
查询所有列 |
select 列1,列2,....from表名 |
查询指定列 |
insert into 表名 values (...) |
添加数据 全列插入:值的顺序与表结构字段的顺序完全一一对应 |
inser into 表名(列1,...)values(值1,...) |
部分列插入:值的顺序与给出的列顺序对应 |
insert into 表名 values (...),(....)....; |
全列多行插入 |
insert into 表名 (列1,..)values(值1,...),(值1,...)...; |
部分列多行插入 |
update 表名 set 列1=值1 ,列2=值2...while 条件 |
修改数据 |
delete from 表名 where 条件 |
删除数据(物理删除,删除不可以恢复) |
ater table 表名 add 添加一个字段 bit default 0 |
添加删除表示字段 ,0表示未删除 1表示删除 dit 是2进制数据 default 默认为0 |
update 表名 set 字段 =1 where id =0 |
逻辑删除数据 |
- 主键列是自动增长,但是在全列插入时需要占位,通常使用空值(0或者null或者default)
- 在全列插入时,如果字段列有默认值可以使用 default 来占位,插入后的数据就是之前设置的默认值
- 逻辑删除,本质就是修改操作
mysql高级使用
命令 |
说明 |
格式 |
insert into .....select...... |
插入到指定表中,也就是表复制 |
表复制 insert into ...select ... sql语句 |
update |
连接更新表中数据 |
|
create table ....select |
创建并给字段插入数据 |
|
alter table |
修改表结构多个修改字段之间使用逗号分割 |
忽略外键
先取消主外键关系验证:
SET FOREIGN_KEY_CHECKS = 0;
然后删除需要删除的数据
最后恢复:SET FOREIGN_KEY_CHECKS = 1;