day17-mysql相关指令

2018-09-04  本文已影响0人  旧时初_2e8d

1、DDL

常用数据类型

增删改查 curd操作

首先通过mysql -uroot -p 进入数据库系统,创建数据库dudu,进入数据库dudu use dudu,然后才是创建表的过程
所有的符号都是英文。

        mysql> create table user(
            -> id int auto_increment,
            -> name varchar(30) not null,
            -> money int not null,
            -> province varchar(20) default null,
            -> age tinyint unsigned not null,
            -> sex enum('女', '男') not null,
            -> primary key(id)
            -> )engine=innodb default charset=utf8;

【注】单选在插入值的时候,可以直接使用1 2,那么1代表女,2代表男,enum类型如不不给值,默认是第一个

2、DML

增删改语句

3、可视化工具

当你去操作数据库的时候,其实有3中方式
(1)使用mysql自带的客户端进行操作
(2)使用一些第三方的可视化工具管理数据库 比如navicate、sqlyog
(3)使用代码去操作数据库,比如python、java、php

4、DQL

        mysql> create table user(
            -> id int auto_increment,
            -> name varchar(30) not null,
            -> gid varchar(10) default 0,
            -> primary key(id)
            -> )engine=innodb default charset=utf8;
mysql> create table goods(
            -> gid int auto_increment,
            -> name varchar(30) not null,
            -> price int not null,
            -> category varchar(20) not null,
            -> primary key(gid)
            -> )engine=innodb default charset=utf8;
        mysql> insert into user(name, gid) values('郭德纲', 1),
            -> ('岳云鹏', 2),
            -> ('曹云金', 0),
            -> ('于谦', 3),
            -> ('牛群', 1),
            -> ('冯巩', 1),
            -> ('大兵', 4),
            -> ('马三立', 0),
            -> ('贾玲', 2);
指令汇总
一、什么是SQL
    SQL(Structured Query Language)结构化查询语言的缩写,是一种特殊目的的编程语言,
是一种数据库查询和程序设计语言,用于存储数据以及查询、更新和管理关系型数据库系统;
同时也是数据库脚本文件的扩展名。
二、SQL分类
    数据定义语言(DDL),例如:CREATE、DROP、ALTER等语句。

    数据操作语言(DML),例如:INSERT、UPDATE、DELETE。

    数据查询语言(DQL),例如:SELECT语句。
    
    数据控制语言(DCL),例如:GRANT、REVOKE。

    数据事务语言(DTL),例如:BEGIN、COMMIT、ROLLBACK等语句。
三、DDL
1、连接数据库
mysql -h服务器地址 -u用户名 -p密码
基本语法
a.查看库  show databases
b.创建库  create database 数据库名
c.删除库  drop database 数据库名
d.选中库  use  数据库名
e.查看表  show tables
f.创建表  create table(字段1 字段类型,字段名2 字段类型2) 表名
g.查看表字段  desc 表名
h.删除表  drop table 表名
i.指定字符集和引擎
1.存储引擎 engine=InnoDB
2.创建表时指定字符集default charset=utf8
j.修改表字段类型
alter table 表名 modify 字段名 类型名
k.增加表字段
alter table 表名 add 字段名 类型名
l.增加字段时控制顺序
alter table 表名 add 字段名 字段类型 after 字段名2
alter table 表名 add 字段名 字段类型 first
m.删除表字段
alter table 表名 drop 字段名
n.表字段改名
alter table 表名 change 字段原名 字段新名 字段类型
o.修改表名
alter table 旧表名 rename 新表名
四、MDL
操作前先建立表
create table user(
    id int auto_increment,
    name varchar(50) not null,
    money float not null , 
    province varchar(20) default null , 
    age tinyint  unsigned not null , 
    sex tinyint not null , 
    primary key (id)
    ) engine= InnoDB default charset=utf8;
a.插入记录1
insert into 表 values(值1,值2,值n)
插入记录2
insert into 表(字段1,字段2,字段n) values(值1,值2,值n)
插入数据3
insert into star(name, money, province, age, sex)
        values('黄晓明', 2000000,  '山东',  39, 0),
        ( 'angelababy', 3000000, '上海', 27, 1),
        ( '陈赫', 150000, '福建', 31, 0);
删除记录   delete from 表 where 条件
修改记录   update 表 set 字段1=值1,字段2=值2 where 条件
基础查询   select * from 表
五、DQL
指定字段查询   select 字段 from 表名
指定字段组合不重复记录   select distinct 字段 from 表
条件查询   select 字段 from where 条件查询
where后可接的条件
> < >= <= !=/<> or and between and in/not in  like(模糊查询) 
结果集排序   select 字段 from 表 order by 字段 排序关键词(asc升序 默认升序,desc降序)
多字段排序   select 字段 from 表 order by 字段1 desc|asc,字段n desc|asc
限制查询的结果集   select 字段 from 表 limit 数量
限制排序后的结果集   select 字段 from 表 order by 字段 desc|asc limit 数量
结果集区间选择   select 字段 from 表 limit 偏移量,数量
用limit分页   第1页为 limit 0,10 第2页为 limit 10,10第3页为 limit 20,10
依此类推... ...
常用统计函数
sum   求和
count   统计整数
max    最大值
min    最小值
avg    平均值
统计函数使用   select 函数(字段) from 表
分组   select * from 表 group by 字段
分组统计   select * from 表 group by 字段  
结果集过滤   select * from 表 group by 字段 having 条件
整体使用SQL
顺序   select from where group by  order by limit
 SELECT xxx FROM xxx WHERE xxx GROUP BY xxx HAVING xxx ORDER BY xxx LIMIT xxx;
 多表联合查询
 隐式内连接
 select 表1.字段 [as 别名],表n.字段 from 表1[别名],表n where 条件
 select username,  name from user, goods where user.gid=goods.gid;
 显式外连接
 select 表1.字段[as 别名],表n.字段 from 表1 inner join 表2 on条件
 select username,  name from user inner join goods on user.gid=goods.gid
外连接之左连接
select 表1.字段 [as 别名], 表n.字段 from 表1 left join 表n on 条件
外连接之右连接
select 表1.字段 [as 别名], 表n.字段 from 表1 right join 表n on 条件
子(嵌套)查询
select 字段 from 表 where 字段 in(条件)
记录联合
select 语句1 union[all] select 语句2
修改更新
update 表名 set 字段1=值1, …, 字段n=值n where 条件
两个表同时更新
update 表1,表2 set 字段1=值1, …, 字段n=值n where 条件
清空表记录
truncate table 表名
创建用户
Create user ‘用户名’@‘用户地址’ identified by ‘密码’
删除用户
drop user ‘用户名’@‘用户地址’
授予权限
grant 权限 on *.* to ‘用户名’@‘用户地址’
剥夺权限
revoke 权限 on *.*  from ‘用户名’@‘用户地址’
上一篇下一篇

猜你喜欢

热点阅读