数据库的基本操作

SQL实用总结:

DDL(数据定义语言):
I.数据库中的基本操作:
show databases; ----显示所有的数据库
create database 库名称; ----创建数据库
use 库名称; ----切换数据库
drop database 库名称; ----删除数据库

ps(补充):
select database(); ----查看当前使用的数据库
show create database 库名称; ----查看创建数据库定义信息
set names 字符集; ----修改当前数据库客户端的编码

II.表的基本操作:
show tables; ----显示数据库中的表
alter table 表名 add 字段名 字段类型; ----添加字段
alter table 表名 modify 字段名 字段类型; ----修改字段类型约束
alter table 表名 change 旧字段名 新字段名 字段类型; ----修改字段名称
alter table 表名 drop 字段名; ----删除字段
desc 表名; ----查看表结构
rename table 旧表名 to 新表名; ----修改表名称
create table 表名(字段名 字段类型 [约束]);
约束:<1.primary key (主键约束)
删除:alter table 表名 drop primary key;
<2.unique (唯一约束)
<3.not null
<4.default (默认值约束)
<5.外键约束
<6.auto_increment(自增长)
非常用:
show create table 表名; ----查看表的编码集
alter table 表名 charset 字符集 ----修改字符编码集

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DML
I.
insert into 表名[(字段名1,字段名2,...)] values(值1,值2,...);
II.
update 表名 set 字段名=值 [where 条件];
III.
delete from 表名 [where 条件];

注:删除表和删除表数据的区别:
delete from 表名; (删除表)
truncate table 表名; (删除表记录)
1.delete是一行一行删除
truncate是将表结构销毁,在重新创建表结构.
如果数据比较多,truncate的性能高。

2.delete是dml语句 truncate dcl语句
delete是受事务控制. 可以回滚数据.
truncate是不受事务控制. 不能回滚.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DQL
I
单表查询:
select * from where 条件 group by ~~ having ~~ order by~~;

条件:<1.普通条件 > < <> >= <= ,and or not,between and ,in ,like , is null
*: <2.聚合函数 count(~) sum(~) max(~) min(~) avg(~)
ifnull(一般是在列做运算时用), distinct(去重)
注:having和where的区别:
<1.having是在分组后对数据进行过滤,where是在分组前对数据进行过滤
<2.having后面可以使用分组函数,where后面不可以使用分组函数

II
多表操作
<1.一对多:
从表添加外键:
alter table 表名 add[constraint 外键名] foreign key(从表外键名字段) references 主表(主表主键);
删除外键:
alter table 从表 drop foreign key 外键名称;
注:从表外键类型和主表主键应一致,外键名一般为"从表_主表_fk"形式。
删除时,从表无障碍,主表要看从表是否有关联数据。
添加时,主表无障碍,从表看是否在主表主键范围内。
<2.
多对多:
需要设置一个中间表来作为从表。

备份:
doc窗口:mysqldump -u*** -p*** 数据库名>文件路径;
例如:mysqldump -uroot -proot mydb1>d:\mydb1.sql
恢复(!!!首先手动创建一个数据库):
doc窗口:mysql -u*** -p*** 数据库名<文件路径;
例如:mysql -uroot -proot mydb1<d:\mydb1.sql
数据完整性(依靠约束来完成):
实体完整性(行/记录完整性)的约束条件:主键,唯一,自增长
域完整性(列/字段完整性)的约束条件:非空,默认,数据类型
引用完整性的约束条件:外键

posted @ 2018-02-04 21:41  bo客先生  阅读(170)  评论(0编辑  收藏  举报