Mysql数据库基本操作

Msql登陆和退出

1.登陆

1.登陆本机的数据库
    mysql -uroot -p密码;
2.登陆别的数据库
    mysql -h127.0.0.1 -uroot -p密码;
    mysql --h127.0.0.1 --uroot --p密码;

2.退出

1.exit;
2.quit;

SQL

1.SQL的含义

SQL:Structured Query Language
SQL是用于操作关系型数据库的语言(操作数据库的规则)

2.SQL通用语法

1.SQL语句可以单行或者多行书写,以分号结尾。
2.可以使用空格和缩进来增强语句的可读性。
3.Mysql数据库的SQL语句不区分大小写,关键字推荐使用大写
4.有三中注释
        单行注释:--(空格)注释内容 或者 #注释内容(mysql特有)
        多行注释:/*注释*/

3.SQL分类

1.DDL(Data Definition Language)数据定义语言
    用来定义数据库对象:数据库,表,列等。关键字:create, drop,alter 等
2.DML(Data Manipulation Language)数据操作语言
    用来对数据库中表的数据进行增,删,改。关键字:insert, delete, update 等
3.DQL(Data Query Language)数据查询语言
    用来查询数据库中表的记录(数据)。关键字:select, where 等
4.DCL(Data Control Language)数据控制语言
    用来定义数据库的访问权限和安全级别,及创建用户。关键字:GRANT, REVOKE 等

DDL:操作数据库,表

1.操作数据库:CRUD

1.C(Create):创建
    创建数据库:
        CREATE DATABASE 数据库名;
    创建数据库,判断不存在,在创建:
        CREATE DATABASE IF NOT EXISTS;
    创建数据库,并制定字符集
        CREATE DATABASE 数据库名 CHARATCER SET 字符集名;
    综合创建数据库
    CREATE DATABASE IF NOT EXISTS 数据库名 CHARATCER SET 字符集名称;

2.R(Retrieve):查询
    查询所有数据库的名称:
        SHOW DATABASES;
    查询某个数据库的字符集:查询某个数据库的创建语句
        SHOW CREATE DATABASE 数据库名;
3.U(Update):修改
    修改数据库的字符集
        ALTER DATABASE 数据库名 CHARACTER SET 字符集名;
4.D(Delete):删除
    删除数据库
        DROP DATABASE 数据库名;
    先判断数据库是否存在,存在再删除
        DROP DATABASE IF EXISTS 数据库名;
5.使用数据库
    查询当前正在使用的数据库
        SELECT DATABASE();
    使用数据库
        USE 数据库名;

2.操作表

1.C(Create):创建
    1. CREATE TABLE 表名(列名1 数据类型1,列名2 数据类型2,....列名n 数据类型n);注意:最后一列不需要加逗号!
    2. 常用数据类型:
        1.int:整数类型
            age int,
        2.double:小数类型
            score double(5,2) 有5位数,小数点后保留2位
        3.date:日期,只包含年月日,yyyy-MM-dd
        4.datetime:日期,包含年月日时分秒   yyyy-MM-dd HH:mm:ss
        5.timestamp:时间错类型   包含年月日时分秒    yyyy-MM-dd HH:mm:ss 
            如果不给这个字段赋值,或赋值为null,则默认使用当前的系统时间,来自动赋值
        6.varchar:字符串
            name varchar(20):姓名最大20个字符
            zhangsan 8个字符  张三 2个字符
    3. 复制表
        CREATE TABLE 表名 LIKE 被复制的表名;
2.R(Retrieve):查询
    查询某个数据中所有表名称
        SHOW TABLES;
    查询表结构
        DESC 表名;
3.U(Update):修改
    1. 修改表名
        ALTER TABLE 表名 RENAME TO 新的表名;
    2. 修改表的字符集
        ALTER TABLE 表名 CHARACTER SET 字符集名称;
    3. 添加一列
        ALTER TABLE 表名 ADD 列名 数据类型;
    4. 修改列名称 类型
        ALTER TABLE 表名 CHANGE 列名 新列别 新数据类型;
        ALTER TABLE 表名 MODIFY 列名 新数据类型;
    5. 删除列
        ALTER TABLE 表名 DROP 列名;
4.D(Delete):删除
        DROP TABLE 表名;
        DROP TABLE  IF EXISTS 表名;

DML增删改表数据

1.表添加数据

1.添加指定列的数据
    INSERT INTO 表名(列名1,列名2,...列名n) values (值1,值2,...值n);
2.添加所有列的数据
    INSERT INTO 表名 VALUES(值1,值2,...值n);
    注意:
        除了数字类型,其他类型需要使用引号(单双都可以)引起来

2.表删除数据

1.删除指定的某些记录
    DELETE FROM 表名 [WHERE 条件];
2.删除整个表的操作
    DELETE FROM 表名;   -----逐条删除表中的数据,效率低。
    TRUNCATE TABLE 表名;  -----先删除整个表,再创建一个表,效率高

3.表修改数据

  UPDATE 表名 set 列名1 = 值1, 列名2 = 值2,... [where 条件];
  如果不添加条件,会将表中的数据全部修改

DQL查询表中的记录

1.基础查询

1.多个字符段的查询
    查询所有的表字段:SELECT * FROM 表名;
    查询指定列表字段:SELECT 列名1,列名2...FROM 表名;
2.去重查询
    SELECT DISTINCT 列名 FROM 表名;
3.四则运算计算列
    SELECT IFNULL (列名1,0) + 列名2  FROM 表名称;
    SELECT IFNULL(表达式1,表达式2)
    表达式1:哪个字段需要判断是否为null
    表达式2:如果该字段为null
4.查询到的结果起别名
    SELECT 列名1 AS 别名1,列名2 别名2 FROM 表名称; 

2.条件查询

1.与 && 
    1.SELECT * FROM 表名称 WHERE age>20 && age<30;
    2.SELECT * FROM 表名称 WHERE age>20 AND age<30;    
    3.SELECT * FROM 表名称 WHERE age BETWEEN 20 AND 30;
2.或 ||
    1.SELECT * FROM 表名称 WHERE age=20 || age=30;
    2.SELECT * FROM 表名称 WHERE age=20 OR age=30;
    3.SELECT * FROM 表名称 WHERE age IN(20,30);  
3.非 ! 
    1.SELECT * FROM 表名称 WHERE address IS NULL;  -- 居住地是Null
    2.SELECT * FROM 表名称 WHERE address IS NOT NULL;  -- 居住地不是Null

3.模糊查询 WHERE LIKE

1.两个占位符
     1.'_' 下划线,表示1个字符
     2.'%' 百分号,表示0个或多个字符
2.案例
    1.查询姓'武'
        SELECT * FROM hero WHERE name LIKE '武%'; 
    2.查询姓'武'只有两个字
        SELECT * FROM hero WHERE name LIKE '武_';
    3.查询第二个字是'文'的
        SELECT * FROM hero WHERE name LIKE '_文%';
    4.查询只要带有'李'字的
        SELECT * FROM hero WHERE name LIKE '%李%';
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

睡前来杯海飞丝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值