MySQL数据库,表和表记录的增删查改

MySQL的基本使用

MySQL的DDL(操作数据库和表,增删改查,使用)

数据库的操作:【增,删,改,查,使用】

一、 创建

    1.CREATE DATABASE 数据库名称;  
    2.CREATE DATABASE IF NOT EXISTS 数据库名称  CHARACTER SET 具体的编码; -- 判断是否存在然后给它指定的字符集

二、 删除

    1.DROP DATABASE 数据库名称;-- 删数据库
    2.DROP DATABASE IF EXISTS 数据库名称;-- 判断是否存在,在就删

三、 修改

    1.ALTER DATABASE 数据库名称 CHARACTER SET 具体的编码;-- 修改字符集

四、 查询

    1.SHOW DATABASES;-- 这里要加s,用于显示所有数据库
    2.SHOW CREATE DATABASE 数据库名称;-- 显示数据库的创建语句

五、 使用

    1.USE 数据库名称;-- 使用
    2.SELECT DATABASE();-- 查询正在使用当中的数据库

表的操作【增,删,改,查】

一、 创建

    常用的数据类型:int --整型
                  double(x,y)  --小数类型(x表示多少数字,y表示精确到小数点后多少位)
                  varchar(x)  --字符串类型(x表示最大容纳字符数)
                  date  --日期类型
                  timestamp  --时间戳类型(自动添加当前系统时间)
    1.CREATE TABLE 表名称(列名 类型,列名 类型)--创建
    2.CREATE TABLE 新表名称 LIKE 原始表; -- 复制表

二、 删除

    DROP TABLE 表名称;-- 删除
    DROP TABLE IF EXISTS 表名称 -- 判断是否存在,在就删

三、 修改

    ALTER TABLE 原始表名称 RENAME TO 新的表名;-- 修改表名
    ALTER TABLE 表名称 CHARACTER SET 字符集编码;-- 修改表字符集
    ALTER TABLE 表名称 CHANGE 旧列名称 新列名称 新列数据类型;--修改列名
    ALTER TABLE 表名称 MODIFY 要修改的列名 新的数据类型;--修改列名
    ALTER TABLE 表名称 ADD 列名称 数据类型;-- 增加一列
    ALTER TABLE 表名称 DROP 列名称;-- 删除一列

四、 查

    SHOW TABLES; -- 查询数据库内所有表
    DESC 表名称;-- 查询具体表

MySQL的DML(操作表记录,增删改)

表记录的增删改

一、 添加(注意事项:除了数字类型(整数和小数)以外,其他的都要采用引号(单引号双引号都可以)引起来)

    INSERT INTO 表名称 (列名,列名,···)VALUES(值,值,···);-- 添加指定列的数据
    INSERT INTO 表名称 VALUES(值,值,值,···);-- 添加所有列数据

二、 删除

    DELETE FROM 表名称 【WHERE 条件】;-- 删除指定的记录
    DELETE FROM 表名称; --删除整个表(逐行删除)效率低
    TRUNCATE TABLE 表名称; --删除整个表(先删表,再建表)效率高

三、 修改

    UPDATE 表名称 SET 列名=值,列名=值,·· 【WHERE 条件】;-- 修改(常见)
    UPDATE 表名称 SET 列名=值,列名=值,·· ;-- 修改所有的情况(不常见)

MySQL的DQL(操作表记录,查)

表记录的查

一、 基础查询

    SELECT * FROM 表名称;-- 基本查询
    SELECT 列名,列名,··  FROM 表名称;-- 指定列查询
    SELECT DISTINCT 列名 FROM 表名称;-- 去重查询
    SELECT IFNULL(列名,0)+列名 FROM 表名称;--四则运算后新列的查询(IFNULL(列名,0)把列中的null换成0,便于计算)
    SELECT 列名 AS 别名,列名 别名 FROM 表名称;--给查询结果起别名(AS可以省略)

二、 条件查询

  1. 与(理解与&&类似)        

    SELECT * FROM 表名称 WHERE age>11  && age<22;
    SELECT * FROM 表名称 WHERE age>11  AND age<22;
    SELECT * FROM 表名称 WHERE age BETWEEN 11 AND 22;

  2. 或(理解或||类似)

    SELECT * FROM 表名称 WHERE age=11 || age=22;
    SELECT * FROM 表名称 WHERE age=11 OR age=22;
    SELECT * FROM 表名称 WHERE age IN(11,22);

  3. 非(理解非!类似)

    SELECT * FROM 表名称 WHERE age IS (NOT) NULL;--年龄是(不是)NULL

三、 模糊查询

  1. 两个占位符

    '_'下划线,表示1个字符
    '%'百分号,表示0个或多个字符

  2. 案例

    SELECT * FROM hero WHERE name LIKE '王%';-- 查询姓'王'的
    SELECT * FROM hero WHERE name LIKE '王_';-- 查询姓'王'的且名字是2个字的
    SELECT * FROM hero WHERE name LIKE '_王%';--查询名字第二个字是'王'的
    SELECT * FROM hero WHERE name LIKE '%王%';--查询名字带'王'的

你可能感兴趣的:(MYSQL,数据库,表,表记录,增删查改)