数据库 相关操作
操作 | 命令 |
登录数据库 | mysql -uroot -p -u 后面是登录的用户名 -p 后面是登录密码, 如果不填写, 回车之后会提示输入密码 |
退出数据库 | quit 或 exit 或 ctrl + d |
显示当前时间 | select now(); |
创建数据库 | create database python charset=utf8; |
查看所有数据库 | show databases; |
查看创库 | show create database python; |
使用数据库 | use python; |
查看当前使用的数据库 | select database(); |
删除数据库 | drop database python; |
MySQL创建用户 | create user tiger identified by '123456'; flush privileges; |
授权tiger用户访问my_db数据库 | grant all on my_db.* to 'tiger'@'%'; flush privileges; |
删除MySQL用户 | drop user 'tiger'@'%'; |
表结构 相关操作
操作 | 命令 |
---|---|
查看当前数据库中所有表 | show tables; |
创建表 | create table students( id int unsigned primary key auto_increment not null, name varchar(20) not null, age tinyint unsigned default 0, height decimal(5,2), gender enum('男','女','人妖','保密')); |
查看创表 | show create table students; |
添加字段(列名) alter、add | alter table students add birthday datetime; |
删除字段 alter、drop | alter table students drop birthday; |
修改字段类型 alter、modify | alter table students modify birthday date not null; modify: 可以修改字段类型、字段约束,不能修改字段名 |
修改字段名和字段类型 alter、change | alter table students change birthday birth datetime not null; change: 可以修改字段类型、字段约束、字段名 |
删除表 drop | drop table students; |
添加数据 insert | -- 1. 全列插入:值的顺序与表结构字段的顺序完全一一对应 insert into students values(0, 'xx', default, default, '男'); -- 2. 部分列插入:值的顺序与给出的列顺序对应 insert into students(name, age) values('王二小', 15); -- 3. 全列多行插入 insert into students values(0, '张飞', 55, 1.75, '男'),(0, '关羽', 58, 1.85, '男'); -- 4. 部分列多行插入 insert into students(name, height) values('刘备', 1.75),('曹操', 1.6); |
修改数据 update | update students set age = 18, gender = '女' where id = 6; |
删除数据 delete | delete from students where id=5; |
逻辑删除 (本质就是修改操作) update | -- 添加删除表示字段,0表示未删除 1表示删除 alter table students add isdelete bit default 0; -- 逻辑删除数据 update students set isdelete = 1 where id = 8; |
查询所有列 select | select * from students; |
查询指定列 select | select id,name from students; |
去除重复数据行 select distinct | select distinct name, gender from students; |
说明:
- 主键列是自动增长,但是在全列插入时需要占位,通常使用空值(0或者null或者default)
- 在全列插入时,如果字段列有默认值可以使用 default 来占位,插入后的数据就是之前设置的默认值