命令行连接
mysql -uroot -p
# 回车后输入密码
exit/quit/ctrl+d
修改输入提示符
prompt python>
select version(); # 查看版本
select now(); # 显示当前时间
数据库
show databases;
use 数据库名;
例:
use python;
select database ();
create database 数据库名 charset=utf8;
例:
create database python charset=utf8;
show create databases 数据库名;
例:
show create database python;
drop database 数据库名;
例:
drop database python;
数据表
show tables;
desc 数据表名;
例:
desc students;
创建表
auto_increment表示自动增长 not null 表示不能为空 primary 表示主键 default 默认值
create table 数据表名 (字段 类型 约束, 字段 类型 约束...);
CREATE TABLE table_name(
column1 datatype contrai,
column2 datatype,
column2 datatype,
......
columnN datatype,
PRIMARY KEY (one or more columns)
);
例:创建classes表
create table classes(
id int unsigend auto_increment primary key not null ,
name varchar (10 )
);
例:创建students表
create table students(
id int unsigned not null auto_increment primary key ,
# varchar 类型补不全空位
name varchar (30 ),
# xxx unsigned类型不包含负数
age tinyint unsigned default 0 ,
# decimal 类型(总位数,小数位数)
high decimal (5 ,2 ),
# 枚举类型下标从1 开始
gender enum("男" , "女" , "中性" , "保密" ) default "保密" ,
cls_id int unsigned
);
show create table 数据表名;
例:
show create table students;
show create table classes;
alter table 表名 add 列名 类型;
例:
alter table students add birthday datatime;
alter table 表名 change 原名 新名 类型及约束;
例:
alter table students change birthday birth datetime not null ;
alter table 表名 modify 列名 类型及约束;
例:
alter table students modify birth date not null default "1991-01-01" ;
alter table 表名 drop 列名;
例:
alter table students drop birth;
drop table 表名;
例:
drop table classes;
增删改查(curd)
Create update Retrieve Delete
查询基本使用
select * from 表名;
select * from 表名 where 条件;
例:
select * from students;
select * from students where id>1 ;
select 列1 ,列2 ,...from 表名;
select 列1 ,列2 ,...from 表名 where 条件;
例:
select id,name, from cstudents;
select id as "编号" , name as "姓名" , from students;
select id, name as "姓名" , from students where gender=2 ;
增加
insert into 表名 value (...)
例:
insert in students value (0 ,'Gg' ,1 ,'武汉' ,'2018-03-04' );
insert into 表名(列1 ,...) value (值1 ,...);
例:
insert into students(id,name,hometown,birthday) value (0 ,'Gg' ,'武汉' ,'2018-03-04' );
insert into 表名 value (...),(...)...;
例:
insert into classes value (0 ,'python1' ,(0 ,'python2' ));
insert into 表名(列1 ,...) value (值1 ,...),(值1 ,...)...;
insert into students(name) value ('杨康' ),('杨过' ),('小龙女' );
修改
update 表名 set 列1 =值1 , 列2 =值2. .. where 条件;
例:
update students set gender=0 ,hometown='北京' where id=5 ;
删除
delete from 表名 where 条件;
例:
delete from students where id=5 ;
逻辑删除,本质就是修改操作,添加字段表示不能再使用
# bit只占1位
alter table students add is_delete bit default 0 ;
update students set is_delete=1 where id=1 ;
备份
mysqldump -uroot -p 数据库名 > python.sql
# 提示输入mysql的密码
恢复
mysql -uroot -p 新数据库名 < python.sql
# 提示输入mysql的密码