MySQL数据库基础操作

介绍scrapy

库级操作

查看数据库 show databases;
创建数据库 create database [if not exists] 库名;
删除数据库 drop database 库名;
进入数据库 use 库名;
查看存储引擎 show engines;

表级操作

查看表 show tables;
创建表 create table if not exists 表名(表结构);[表结构字段名必须要有数据类型]
约束条件 default 默认,not null非空,unique唯一,auto_increment自增长,primary key主键,foreign key外键
删除表 dorp table 表名;
查看表结构 show create table 表名;\desc 表名;

修改表
1.修改表名
alter table 旧表名 rename [to] 新表名;

2.修改字段的数据类型
alter table 表名 modify 字段名 数据类型;

3.修改字段名和字段类型(如果不修改字段类型,新字段类型上填回之前的)
alter table 表名 change 旧字段名 新字段名 新数据类型;

4.增加字段(after 是字段增加的位置 不填默认在最后,first是首字段)
alter table 表名 add 字段名 数据类型 [完整性约束条件] [first | after 字段名];

5.删除字段
alter table 表名 drop 字段名;

6.修改字段的排列位置
alter table modify 字段名 数据类型 first | after 字段名;
alter table change 字段名 新字段名(与旧的一样) 数据类型;
…灵活运用

7.更改表的存储引擎
alter table 表名 engine=存储引擎名;【存储应请InnoDB | MyISAM | MEMORY】

8.删除表的外键约束
alter table 表名 drop foreign key 外键别名;

9.增加及删减字段名的约束条件
alter table 表名 change 字段 字段 数据类型 约束条件;
…灵活运用

插入 、更新、删除数据
1.为表的所有字段插入数据
insert into 表名 values(这是相应字段的值,看好对应的数据类型)

2.为表的指定字段插入数据
insert into 表名(字段名1,字段名2…) values(值1,值2…);

3.同时插入多条数据
insert into 表名 values(这是相应字段的值,看好对应的数据类型),(这是相应字段的值,看好对应的数据类型),(这是相应字段的值,看好对应的数据类型);
insert into 表名(字段名1,字段名2…) values(值1,值2…),(值1,值2…),(值1,值2…);

4.将查询结果插入到表中
insert into 表名 select * from 表名2;
insert into 表名(指定字段) select (指定字段) from 表名2;【注意结构】

  1. 复制表结构及数据到新表
    CREATE TABLE 新表 SELECT * FROM 旧表 。
  2. 只复制表结构到新表
    CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2
    即:让WHERE条件不成立.
  3. 复制旧表的数据到新表(假设两个表结构一样)
    INSERT INTO 新表 SELECT * FROM 旧表
  4. 复制旧表的数据到新表(假设两个表结构不一样)
    INSERT INTO 新表(字段1,字段2,…) SELECT 字段1,字段2,… FROM 旧表

5.更新数据
update 表名 set 字段名1=取值1,字段名2=取值2…,where 条件表达式;【若不加则修改全部】

6.删除数据
delete from 表名[where 条件表达式];【不加就全部删除】

查询语句
[ WHERE 条件表达式1 ]
[ GROUP BY 属性名1 [ HAVING 条件表达式2 ] ]
[ ORDER BY 属性名2 [ ASC | DESC ] ]

【例】 查询teaching数据库的student表中所有字段的信息。
USE teaching ;
SELECT * FROM student;
SELECT name,2014-birth as age FROM student;
SELECT name,year(curdate())-birth as age FROM student;

或者
SELECT name,year(now())-birth as age FROM student;

查询结果不重复,语法格式:
select distinct 字段名 from 表名

视图
建立在基本表上的虚拟表

CREATE [ ALGORITHM = { UNDEFINED | MERGE | TEMPTABLE } ]
VIEW 视图名 [ ( 属性清单 ) ]
AS SELECT语句

    查看视图是指查看数据库中已存在的视图的定义。
    查看视图必须要有SHOW VIEW的权限,mysql数据库下的user表中保存着这个信息。
    查看视图的方法包括DESCRIBE语句、SHOW TABLE STATUS语句、SHOW CREATE VIEW语句和查询information_schema数据库下的views表等。

ALTER语句修改视图的语法格式为:
ALTER [ ALGORITHM = { UNDEFINED | MERGE | TEMPTABLE } ]
VIEW 视图名 [ ( 属性清单 ) ]
AS SELECT语句
[ WITH [ CASCADED | LOCAL ] CHECK OPTION ] ;

更新视图是指通过视图来插入(INSERT)、更新(UPDATE)和删除(DELETE)表中的数据。
因为是视图是一个虚拟表,其中没有数据。通过视图更新时,都是转换到基本表来更新。
更新视图时,只能更新权限范围内的数据。超出了范围,就不能更新。
Insert into student_view1 values(909,’zz’,1999);
Desc student; id,name,department
alter view student_view1 as select id,name,department from student;

删除视图是指删除数据库中已存在的视图。删除视图时,只能删除视图的定义,不会删除数据。用DROP VIEW语句来删除视图。但是,用户必须拥有DROP权限。
DROP VIEW [ IF EXISTS] 视图名列表 [ RESTRICT | CASCADE]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值