美文网首页
MySql入门笔记

MySql入门笔记

作者: 61etj | 来源:发表于2018-10-28 00:26 被阅读0次

    启动MySql

    • 命令行

        net start mysql
        net stop mysql
      
    • 桌面

      我的电脑-右键-管理-服务-找到mysql-启用

    Sql分类

    • DDL(数据库定义语言)

      常用命令
      创建create,修改alter,删除drop

    • DML(数据库操作语言)

      常用命令
      增加insert,删除delete,更新update

    • DQL(数据库查询语言)

      常用命令
      select,from,where

    • DCL(数据库控制语言)

      用于定义数据库的访问权限和安全级别,及创建用户

    数据库常用命令

    登录

    cmd> mysql -u 用户名 -p 密码
    

    创建数据库

    create database 数据库名;
    create database 数据库名 character set 字符集;
    

    查看数据库

    show databases;//查看所有数据库
    show create database 数据库名;//产看指定数据库定义信息
    

    删除数据库

    drop database 数据库名;
    

    其他

    use 数据库名;//切换数据库
    select database();//查看当前使用的数据库
    

    创建表

    create table 表名(
        字段名 类型(长度) [约束],
        字段名 类型(长度) [约束
    );
    

    约束

    主键约束 : primary key
    唯一约束 : unique
    非空约束 : not null
    自动增长 : auto_increment
    

    查看表

    show tables;//查看所有表
    desc 表名;//产看某表的结构
    show create table 表名;//查看表的编码等详细信息
    

    删除表

    drop table 表名;//删除一张表
    

    修改表

    alter table 表名 add 字段名 类型(长度) [约束];//给表增加一个字段
    alter table 表名 modify 字段名 类型(长度) [约束];//修改某个字段
    alter table 表名 change 旧列名 新列名 类型(长度) [约束];//修改表的列名
    drop table 表名 drop 列名;//删除表的某列
    rename table 表名 to 新表名;//修改新表名
    alter table 表名 character set 字符集;//修改表的字符集
    
    alter table 从表 add [constraint] [外键名称] foreign key (从表外键字段名) references 主表 (主表的主键) //增加外键
    alter table 从表 drop foreign key 外键名称
    

    插入记录

    insert into 表名 (列名1,列名2...) values (值1,值2...);//向某表(某些列)插入一条数据
    insert into 表名 values (值1,值2,值3...);//向表中(所有列)插入一条数据
    

    更新记录

    update 表名 set 字段名=值,字段名=值...;//更新所有
    update 表名 set 字段名=值,字段名=值... where 条件;
    

    删除记录

    delete form 表名 where 条件;
    delete form 表名;//删除所有
    truncate table 表名;//删除所有
    

    注意delete 和 truncate 的区别

    1. delete是一条一条删除,启用事务可以找回
    2. truncate是将整个表删除,在重新创建一张一模一样的表,不可找回

    查询记录

    select [distince] * | 列名 [as 列别名],列名 from 表名 [where 条件]; [as 表别名]//查询表中所有数据
    distince(列名) //去除重复的值(依照某列)
    
    //条件
    like '%条件%' //模糊查询
    id in(1,2,3)  //id为 1 2 3 条件
    >  <  =  <>
    
    group by 列名  //分组
    当有分组时 条件用having
    
    order by 列名 [desc] //正序,倒序
    
    //聚合函数
    sum()
    avg()
    max()
    min()
    count()
    
    //多表查询
    select * from A,B;//两表的乘积
    
    //内连接,查询交集的部分
    select * from A,B where 条件//隐式内连接
    select * from A [inner] join B on 条件 //显示内连接
    
    //外连接
    select * from A left [outer] join B on 条件;//左外连接,查询左表的全部,以及两表的交集
    select * from A right [outer] join B on 条件;//右外连接,右表的全部以及右表的交集
    

    事务

    start transaction;//开启事务
    rollback;//回滚
    

    常见问题

    • 乱码

      1. 方法1

        修改数据库安装目录my.ini文件第57行,设置 default-character-set=utf-8
        2. 方法2

         set names gbk;

    相关文章

      网友评论

          本文标题:MySql入门笔记

          本文链接:https://www.haomeiwen.com/subject/xxiytqtx.html