增:
insert into 表名 values('阿紫','0','回族'
insert into 表名 (sex,[name],nation) values ('1','阿碧','汉族')
删:
delete from 表明 where nation = '阿紫'
改:
update 表名 set nation = '汉族',sex = 1 where ids = 6
查:
select * from 表名 where nation='汉族'
or(或)
and(并)
增:
insert into 表名 values('阿紫','0','回族'
insert into 表名 (sex,[name],nation) values ('1','阿碧','汉族')
删:
delete from 表明 where nation = '阿紫'
改:
update 表名 set nation = '汉族',sex = 1 where ids = 6
查:
select * from 表名 where nation='汉族'
or(或)
and(并)
转载于:https://www.cnblogs.com/m110/p/7717666.html
Mysql基本操作之SQL语句增删改查
mysql
–e 后面我们接SQL语句,直接终端运行,写sql 相关shell可以用到。
1、数据库操作:
创建aa数据库:
mysql>create
database aa;
#如有殊字符做库名可用``反引号括起来。
mysql>create
database if not exists aa;
#判断aa数据库不存在就创建。
进入aa数据库:
mysql>user
aa;
查看当前所在的数据位置:
mysql>select
database();
删除aa数据库:
mysql>drop
database `aa`;
#删除没有任何提示,不可恢复,需慎重操作
mysql>drop
database if exists `aa`;
#使用if exists判断aa数据库是否存在,存在就删除,不存在就不执行删除操作,以防报错。
显示上次错误信息:
mysql>show
warnings;
2、表操作
创建表:
语法:create
table 表名 (字段名 类型, 字段名 类型, 字段名 类型);
创建a1表(字段有:id,name,age):
mysql>create
table a1(id int(20),name char(40),age int);
查看当前数据库中的表:
mysql>show
tables;
查看a1表结构:
mysql>desc
a1; #可查看表的字段
还可使用:explain
a1; 或 show
columns from a1;也可查看表结构。
查看创建a1表执行了哪些命令:
mysql>show
create table a1 \G
创建a2表并指定存储引引擎为InnoDB,字符集为utf8:
mysql>create
table a2(id int(20),name char(40),age int(3) ENGINE=innodb DEFAULT
CHARSET=utf8;
删除a2表:
mysql>drop
table a2; #删除后不可恢复,谨慎操作。
修改表名称alter:
语法:alter
table 表名 rename
新表名;
mysql>alter
table a1 rename a2; #把a1表名修改为a2
修改表中的字段类型:
语法:alter
table 表名 modify
要修改的字段名 要修改的类型;
mysql>alter
table a1 modify id int(6); #把id字段类型改不int(6)
修改表中的字段类型和字段名称:
语法:alter
table 表名 change
原字段名 新字段名 新字段类型;
mysql>alter
table a1 change id uid char(6); #把id改为uid且类型为char(6)
在表中添加字段:
语法:alter
table 表名 add
字段名 字段类型;
mysql>alter
table a1 add sex enum('M','W'); #添加sex字段为enum类型
在第一列添加一个字段:
mysql>alter
table a1 add uid int(10) first;
在age后面添加一个address字段:
mysql>alter
table a1 add address char(40) after
age;
删除表中字段:
语法:alter
table 表名 drop
字段名 ;
mysql>alter
table a1 drop id; #删除表中id字段
3、记录(表中的数据)的操作
插入数据到表insert:增
语法:insert
into 表名values
(字段值1,字段值2, 字段值3);
mysql>insert
into a1 values(01,'zhangs',21);
#插入记录时要对应相对的类型
mysql>insert
into a1 values(02,'lis',24),(03,'wange',26);
#同时插入多条,使用逗号分开
mysql>insert
into a1 (id,name)values(04,'hangl') #指定字段插入
查询表中记录:查
语法:select
* from 表名称;
mysql>select
* from a1;
mysql>select
id,name from a1; #只查询id和name字段记录
查看别的数据库的表或者不在本数据库上进行查看:
语法:SELECT
字段 FROM
数据库名.表名;
mysql>select
* from ha.b1;
#查看ha数据库下的b1表中内容
删除id为3的行:删
mysql>delete
from a1 where id=3;
删除age为空的行:
mysql>delete
from a1 where age is null;
更新记录:
改
mysql>update
a1 set id=2,sex='W' where name='wangwu';
mysql>update
a1 set id=2;#改变所有记录,最好带where条件查询
4、SQL基础条件查询语句
语法:select
字段名1,字段名2 from 表名 [where 条件];
4.1、查询a1表中的name,age字段记录:
mysql>select
name,age from a1;
4.2、使用distinct去重复查询:
mysql>select
distinct*
from a1;
4.3、使用and和or进行多条件查询:or和and
同时存在时,(先计算and再计算or)
mysql>select
* from a1 where age=21
orage=21
and name='zs';
4.4、MySQL区分大小写查询:Mysql查询默认是不区分大小写的
mysql>select
* from a1 where binaryname='jk';
BINARY是类型转换运算符,在字符串比较的时候区分大小写。
5:MySQL查询排序:默认为升序(asc升序,desc降序)
语法:select
distinct 字段1,字段2
from 表名order
by 字段名;
mysql>select
* from a1 order by id; #以id字段升序排序
mysql>select
* from a1 order by id desc;
#以id字段降序排序
- SQL语句规范
分号结尾
关键词大小写不区分- 创建/删除数据库
创建:CREATE DATABASE 数据库名 ysj_example;
删除:DROP DATABASE 数据库名 ysj_example;- 创建/删除表
创建:CREATE TABLE 表名(字段)
删除:DROP TABLE 表名
DROP TABLE IF EXISTE 表名 (规范写法删除表)- 主键设置
PRIMARY KEY (列名)- 插入数据
INSERT INTO 数据库名.表名
(列1,列2…列N)
VALUES
(‘值1’,‘值2’…列N);- 查询数据
select * from 表名 where 列名=‘值’- 更新数据
UPDATE 表名 SET 列名 =‘值’ WHERE 过滤条件- 删除数据
TRUNCATE TABLE 表名 (清空/截断)
DELETE FROM 表名 WHERE 过滤条件- 结果集ResultSet
SELECT * FROM 表名 (返回所有列)
SELECT 列名 FROM 表名 (返回部分列)- 排序ORDER BY
select * from 表名 where 条件
order by 列名 asc,列名 desc order by 一般放在后面
ASC表示升序
DESC表示降序- 范围查询
select * from 表名 where 列名 IN (值1,值2)
NOT IN 表示不在列表
IN 指定一个列表,凡在此列表中的符合条件- 空值查询
select * from 表名 where 列名 IS NULL
IS NOT NULL 不为空- 相似查询
select * from 表名 where 列名 LINK 字符(张%) %表示通配符只适合用Mysql- 函数使用
select * from 表名 where YEAR (表名) >=…
百度:MySQL函数> 数据库常用命令行 创建:CREATE DATABASE 数据库名 ysj_example; 删除:DROP DATABASE 数据库名 ysj_example; 创建:CREATE TABLE 表名(字段) 删除:DROP TABLE 表名 DROP TABLE IF EXISTE 表名 (规范写法删除表) 主键:PRIMARY KEY (列名) 插入数据: INSERT INTO 数据库名.表名 (列1,列2.....列N) VALUES ('值1','值2'......列N); 查询数据:select * from 表名 where 列名='值' 更新数据:UPDATE 表名 SET 列名 ='值' WHERE 过滤条件 删除数据: TRUNCATE TABLE 表名 (清空所有数据) DELETE FROM 表名 WHERE 过滤条件
> 高级查询命令行 结果集ResultSet SELECT * FROM 表名 (返回所有列) SELECT 列名 FROM 表名 (返回部分列) 排序ORDER BY select * from 表名 where 条件 order by 列名 asc,列名 desc orderby一般放在后面 ASC表示升序 DESC表示降序 范围查询 select * from 表名 where 列名 IN (值1,值2) NOT IN 表示不在列表 IN 指定一个列表,凡在此列表中的符合条件 空值查询 select * from 表名 where 列名 IS NULL IS NOT NULL 不为空 相似查询 select * from 表名 where 列名 LINK (张%) %表示通配符只适合用Mysql 函数使用 select * from 表名 where YEAR (表名) >=.... 百度:MySQL函数
一、连接数据库
mysql -uroot -p
回车后输入密码,当前设置的密码为mysql
quit 和 exit
或 ctrl+d
查看版本:select version();
显示当前时间:select now();
prompt python>
2.1数据库相关操作:
show databases;
use 数据库名;
select database();
create database 数据库名 charset=utf8;
例:
create database python charset=utf8;
drop database 数据库名;
例:
drop database python;
2.2 数据表相关操作(表的增删改查)
show tables;
desc 表名;
CREATE TABLE table_name(
column1 datatype contrai,
column2 datatype,
column3 datatype,
.....
columnN datatype,
PRIMARY KEY(one or more columns)
);
例:创建班级表
create table classes(
id int unsigned auto_increment primary key not null,
name varchar(10)
);
例:创建学生表
create table students(
id int unsigned primary key auto_increment not null,
name varchar(20) default '',
age tinyint unsigned default 0,
height decimal(5,2),
gender enum('男','女','人妖','保密'),
cls_id int unsigned default 0
)
alter table 表名 add 列名 类型;
例:
alter table students add birthday datetime;
alter table 表名 change 原名 新名 类型及约束;
例:
alter table students change birthday birth datetime not null;
alter table 表名 modify 列名 类型及约束;
例:
alter table students modify birth date not null;
alter table 表名 drop 列名;
例:
alter table students drop birthday;
drop table 表名;
例:
drop table students;
show create table 表名;
例:
show create table classes;
创建(Create)、更新(Update)、读取(Retrieve)和删除(Delete)
select * from 表名;
例:
select * from classes;
select 列1,列2,... from 表名;
例:
select id,name from classes;
格式:INSERT [INTO] tb_name [(col_name,...)] {VALUES | VALUE} ({expr | DEFAULT},...),(...),...
insert into 表名 values(...)
例:
insert into students values(0,’郭靖‘,1,'蒙古','2016-1-2');
insert into 表名(列1,...) values(值1,...)
例:
insert into students(name,hometown,birthday) values('黄蓉','桃花岛','2016-3-2');
insert into 表名 values(...),(...)...;
例:
insert into classes values(0,'python1'),(0,'python2');
insert into 表名(列1,...) values(值1,...),(值1,...)...;
例:
insert into students(name) values('杨康'),('杨过'),('小龙女');
格式: UPDATE tbname SET col1={expr1|DEFAULT} [,col2={expr2|default}]...[where 条件判断]
update 表名 set 列1=值1,列2=值2... where 条件
例:
update students set gender=0,hometown='北京' where id=5;
DELETE FROM tbname [where 条件判断]
delete from 表名 where 条件
例:
delete from students where id=5;
update students set isdelete=1 where id=1;
备份
mysqldump –uroot –p 数据库名 > python.sql;
# 按提示输入mysql的密码
恢复
mysql -uroot –p 新数据库名 < python.sql
# 根据提示输入mysql密码
更多:Python 目录