Mysql-小结

一.数据库操作

1.显示数据库

show databases

2.创建数据库

#utf8
  CREATE DATABASE 数据库名称 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

#gbk
  CREATE DATABASE 数据库名称 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

3.使用数据库

use 数据库名;

4.用户管理

#创建用户
  create user ‘用户名‘@‘IP地址‘ identified by ‘密码‘;

#删除用户
  drop user ‘用户名‘@‘IP地址‘;

#修改用户
  rename user ‘用户名‘@‘IP地址‘; to ‘新用户名‘@‘IP地址‘;;

#修改密码
  set password for ‘用户名‘@‘IP地址‘ = Password(‘新密码‘)

5.权限管理

show grants for ‘用户‘@‘IP地址‘                  -- 查看权限
grant  权限 on 数据库.表 to   ‘用户‘@‘IP地址‘      -- 授权
revoke 权限 on 数据库.表 from ‘用户‘@‘IP地址‘      -- 取消权限

  

 二.数据表操作

1.创建表

creat table 表名(
        列名 类型 是否可以为空,
        列名 类型 是否可以为空,
)engine=innidb default charset=utf8

1         是否可空,null表示空,非字符串
2             not null    - 不可空
3             null        - 可空    

是否为空

1 默认值,创建列时可以指定默认值,当插入数据时如果未主动设置,则自动添加默认值
2             create table tb1(
3                 nid int not null defalut 2,
4                 num int not null
5             )
6
7 默认值

默认值

 1 自增,如果为某列设置自增列,插入数据时无需设置此列,默认将自增(表中只能有一个自增列)
 2             create table tb1(
 3                 nid int not null auto_increment primary key,
 4                 num int null
 5             )
 6             或
 7             create table tb1(
 8                 nid int not null auto_increment,
 9                 num int null,
10                 index(nid)
11             )
12             注意:1、对于自增列,必须是索引(含主键)。
13                  2、对于自增可以设置步长和起始值
14                      show session variables like ‘auto_inc%‘;
15                      set session auto_increment_increment=2;
16                      set session auto_increment_offset=10;
17
18                      shwo global  variables like ‘auto_inc%‘;
19                      set global auto_increment_increment=2;
20                      set global auto_increment_offset=10;
21
22 自增

自增

 1 主键,一种特殊的唯一索引,不允许有空值,如果主键使用单个列,则它的值必须唯一,如果是多列,则其组合必须唯一。
 2             create table tb1(
 3                 nid int not null auto_increment primary key,
 4                 num int null
 5             )
 6             或
 7             create table tb1(
 8                 nid int not null,
 9                 num int not null,
10                 primary key(nid,num)
11             )
12
13 主键

主键

 1 外键,一个特殊的索引,只能是指定内容
 2             creat table color(
 3                 nid int not null primary key,
 4                 name char(16) not null
 5             )
 6
 7             create table fruit(
 8                 nid int not null primary key,
 9                 smt char(32) null ,
10                 color_id int not null,
11                 constraint fk_cc foreign key (color_id) references color(nid)
12             )
13
14 外键

外键

2.删除表

drop table 表名

3.清空表

delete from 表名
truncate table 表名

4.修改表

添加列:alter table 表名 add 列名 类型
删除列:alter table 表名 drop column 列名
修改列:
            alter table 表名 modify column 列名 类型;  -- 类型
            alter table 表名 change 原列名 新列名 类型; -- 列名,类型
添加主键:
        alter table 表名 add primary key(列名);
删除主键:
        alter table 表名 drop primary key;
        alter table 表名  modify  列名 int, drop primary key;

添加外键:alter table 从表 add constraint 外键名称(形如:FK_从表_主表) foreign key 从表(外键字段) references 主表(主键字段);
删除外键:alter table 表名 drop foreign key 外键名称

修改默认值:ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000;
删除默认值:ALTER TABLE testalter_tbl ALTER i DROP DEFAULT;

  

三.表内容操作

1.增

insert into 表 (列名,列名,列名...) values (值,值,值...);
insert into 表 (列名,列名...) values (值,值...),(值,值...);
insert into 表 (列名,列名...) select (列名,列名...) from 表;

2.删

delete from 表
delete from 表 where id=1 and name=‘alex‘

3.改

update 表 set name = ‘alex‘ where id>1

4.查

select * from 表
select * from 表 where id > 1
select nid,name,gender as gg from 表 where id > 1

5.其他

a、条件
    select * from 表 where id > 1 and name != ‘alex‘ and num = 12;

    select * from 表 where id between 5 and 16;

    select * from 表 where id in (11,22,33)
    select * from 表 where id not in (11,22,33)
    select * from 表 where id in (select nid from 表)

b、通配符
    select * from 表 where name like ‘ale%‘  - ale开头的所有(多个字符串)
    select * from 表 where name like ‘ale_‘  - ale开头的所有(一个字符)

c、限制
    select * from 表 limit 5;            - 前5行
    select * from 表 limit 4,5;          - 从第4行开始的5行
    select * from 表 limit 5 offset 4    - 从第4行开始的5行

d、排序
    select * from 表 order by 列 asc              - 根据 “列” 从小到大排列
    select * from 表 order by 列 desc             - 根据 “列” 从大到小排列
    select * from 表 order by 列1 desc,列2 asc    - 根据 “列1” 从大到小排列,如果相同则按列2从小到大排序

e、分组
    select num from 表 group by num
    select num,nid from 表 group by num,nid
    select num,nid from 表  where nid > 10 group by num,nid order nid desc
    select num,nid,count(*),sum(score),max(score),min(score) from 表 group by num,nid

    select num from 表 group by num having max(id) > 10

    特别的:group by 必须在where之后,order by之前

f、连表
    无对应关系则不显示
    select A.num, A.name, B.name
    from A,B
    Where A.nid = B.nid

    无对应关系则不显示
    select A.num, A.name, B.name
    from A inner join B
    on A.nid = B.nid

    A表所有显示,如果B中无对应关系,则值为null
    select A.num, A.name, B.name
    from A left join B
    on A.nid = B.nid

    B表所有显示,如果B中无对应关系,则值为null
    select A.num, A.name, B.name
    from A right join B
    on A.nid = B.nid

g、组合
    组合,自动处理重合
    select nickname
    from A
    union
    select name
    from B

    组合,不处理重合
    select nickname
    from A
    union all
    select name
    from B

  

   

时间: 2024-10-10 02:28:23

Mysql-小结的相关文章

php操作mysql小结

<?php //连接数据库 //设置文档显示编码 header('Content-type:text/html;charset=utf-8'); if($con=mysql_connect('localhost','root','1234')){//返回连接标识符 echo '连接成功<br>'; }else{ echo '连接失败<br>'; } //选择数据库 if(mysql_select_db('mydbtest')){ echo "选择数据库成功<b

2018-07-29学习mysql小结

此前在校学习期间,只是知道数据库很重要,但是并未主动去学习了解.现在的学习过程中学了一遍mysql,就简单的做一个总结吧. 首先记住三个概念: 1.数据库(Database)是按照数据结构来组织.存储和管理数据的建立在计算机存储设备上的仓库. 2.SQL :结构化查询语言(Structured Query Language) 3.MySQL:关系型数据库管理系统 database中存储着各种数据,sql语句用于从database中找出我们需要的数据,mysql是一种应用软件,通过语句对datab

mysql小结

1.使用密码登录mysql mysql -u root -p 2.查看所有的数据库 show databases; 3.创建数据库 create database <数据库名>; 4.创建数据库同时设置字符集 create database <数据库名> default character set utf8 collate utf8_general_ci; 5.使用数据 use <数据库名>; 6.查看当前使用的数据 select database(); 7.导入数据库

mysql小结篇2(17.6.27)

一.视图 1.什么是视图,作用: 答:获取一个select结果,并且生成一个虚拟的新表,然后就可以在这个新的表上继续操作: 注意: 旧表数据更新,则虚拟表数据也跟着更新: 2.创建 DROP VIEW   IF EXISTS V1;   表示如果存在v1虚拟表删除. v1:自定义表名 括号内 执行select语句 DROP VIEW IF EXISTS v1; CREATE VIEW v1 AS (SELECT * FROM tb1 WHERE nid < 3) 3.使用视图 当我们创建完成一个

mysql通过mysql_install_db初始化数据目录时使用--user选项的作用是什么?

需求描述: mysql数据库通过mysql_install_db初始化数据目录时,使用了--user选项,这里记录下该参数的作用 参数解释: 1.--user的作用:就是以哪个操作系统用户来执行mysqld进程(使用哪个用户来运行mysql server) 2.比如,指定了--user=mysql之后,那么通过mysqld创建的文件或者目录都是被mysql用户拥有的(mysql创建的文件,目录的用户权限是mysql),即相当于是mysql用户创建的文件. 3.在初始化数据目录时,如果在root下

xtrabackup之Innobackupex增量备份及恢复

演示增量备份 #启动一个全备 innobackupex > --defaults-file=/mysql/mysqldata/3306/my.cnf > --host=127.0.0.1 > --user=xtrabk > --password='onlybackup' /mysql/mysqldata/backup/ ............ 160527 05:47:55 innobackupex: completed OK! [[email protected] mysqld

pymongo学习第1篇——增删改查

参考文档: 1.https://docs.mongodb.org/getting-started/python/ 2.http://api.mongodb.org/python/current/api/pymongo/index.html # -*- coding: utf-8 -*- import sys from datetime import datetime from pymongo import MongoClient import pymongo import re def main

1.MySQL5.7.19 安装配置踩过的坑

这篇文章主要是分享 安装MySQL时遇到的一些问题,以及解决方法. 第一步:下载MySQL 下载地址:https://dev.mysql.com/downloads/mysql/5.1.html#downloads 我下载的是5.7.19版本,下载地址里面也只有解压版,下载后再进行环境变量的配置就可以. 2.解压并安装Mysql5.7.19 (1)将下载的包解压到指定的路径,自己可以指定路径,我直接解压到了D盘,解压到了                         D:\mysq的目录下.则

mysql字符集小结

author:skate time:2013/04/09 mysql字符集小结 今天同事阿杰兄发现内部一台mysql测试服务器乱码,以前也记录过关于字符集的,今天再补充下 修改mysql的字符集和默认存储引擎 http://blog.csdn.net/wyzxg/article/details/7581415 查看库现有的字符集: mysql> show variables like '%char%'; +--------------------------+------------------

Python操作小结(连接mysql、解析txt文件)

有段时间没有使用python了,对它的语法有点生疏,花了几个小时熟悉,期间发现很多小细节不清楚.为了下次能快速上手,避免重复犯错,我将python使用过程中的一些问题在这篇博文中记录小结一下,主要内容涉及到python操作mysql数据库,和解析txt文本.注:我用的是python2.7版本. 一.导入模块 python的脚本文件里面,可以导入其他脚本文件,并引用其中的方法和参数,使用关键字import.如下: import os,glob,sys 二.基础语法 1.普通变量定义 python