• 05-MySQL增删改查


    MySQL数据库

    知识要点

    1. 进入mysql

    2. 创建/删除数据库

    3. 建表、删表

    4. 单表数据操作

    进入mysql

    本地连接:
    mysql -u用户名 -p
    
    进入root :   mysql -uroot  -p
    输入密码 qwe123

    创建用户

    #创建用户
    mysql> CREATE USER 'jianeng'@'%' IDENTIFIED BY 'qwe123';
    #给用户赋予权限
    mysql> GRANT ALL  ON *.* TO 'jianeng'@'%';
    #使更改立即生效
    mysql> FLUSH PRIVILEGES;
    #退出
    mysql> q

    查看在哪个数据库里:SELECT DATABASE();

    查看当前用户:SELECT USER();

    查看有哪些数据库:SHOW DATABASES;

    创建数据库

    CREATE DATABASE [IF NOT EXISTS] db_name

    mysql> CREATE DATABASE `mydb`;
    Query OK, 1 row affected (0.00 sec)
    mysql> CREATE DATABASE `mydb`;
    ERROR 1007 (HY000): Can't create database 'mydb'; database exists
    mysql> CREATE DATABASE IF NOT EXISTS `mydb`;
    Query OK, 1 row affected, 1 warning (0.00 sec)
    mysql> SHOW DATABASES;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mydb               |
    | mysql              |
    | performance_schema |
    | sys                |
    | test               |
    +--------------------+
    6 rows in set (0.00 sec)
    mysql>

    删除数据库

    DROP DATABASE [IF EXISTS] dbname;

    mysql> DROP DATABASE `mydb`;
    Query OK, 0 rows affected (0.00 sec)
    mysql> DROP DATABASE `
    mydb`;
    ERROR 1008 (HY000): Can't drop database 'mydb'; database doesn't exist
    mysql> DROP DATABASE IF EXISTS `mydb`;
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    mysql>
    注意:
    SQL语句必须以分号结尾
    打开数据库

    USE 数据库名称

    进入mysql后,使用SELECT DATABASE(); 后会发现当前并没有进入到某个数据库中,需要使用use来进入某个数据库中。

    查看数据库中的表

    数据表(或称表)是数据库最重要的组成部分之一,是其他对象的基础

    查看数据表列表SHOW TABLES [FROM db_name]

    SHOW TABLES查看当前数据库中的数据表。

    SHOW TABLES FROM 'mysql'查看mysql这个数据库中的数据表。

    创建数据表
    CREATE TABLE [IF NOT EXISTS] table_name(
       column_name data_type,
    )
    例:
    mysql> CREATE TABLE `tb1`(
        -> `id` INT comment '编号',
        -> `name` VARCHAR(20) comment '名字'
        -> );
    Query OK, 0 rows affected (0.02 sec)
    mysql>
    #comment 用来说明的,给人看的  

    数据类型:INT 整数类型VARCHAR 变长字符串

    查看创建的表:

    SHOW CREATE TABLE tb_name;(G)

    例:
    mysql> SHOW CREATE TABLE `tb1`G
    ************** 1. row **********************
           Table: tb1
    Create Table: CREATE TABLE `tb1` (
      `id` int(11) DEFAULT NULL,
      `name` varchar(20) DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8
    1 row in set (0.00 sec)
    mysql>

    查看数据表结构DESCRIBE tb_name;SHOW COLUMNS FROM 'tb_name';

    例:
    mysql> DESCRIBE `tb1`;
    +-------+-------------+------+-----+---------+-------+
    | Field | Type        | Null | Key | Default | Extra |
    +-------+-------------+------+-----+---------+-------+
    | id    | int(11)     | YES  |     | NULL    |       |
    | name  | varchar(20) | YES  |     | NULL    |       |
    +-------+-------------+------+-----+---------+-------+
    2 rows in set (0.00 sec)
    删除数据表

    DROP TABLE 'tablename';

    单表中数据的增、删、查、改

    INSERT 插入数据

    方法一:

    INSERT [INTO] table_name [(column_name,...)] 
    {VALUES|VALUE} ({expr|DEFAULT},...),(...),...;

    方法二:

    INSERT [INTO] tbl_name SET col_name={expr|DEFAULT},...;
    例:
    mysql> INSERT INTO `tb1`(id,name)
        -> VALUES(1,'张三'),
        ->       (2,'李四')
        -> ;
    Query OK, 2 rows affected (0.00 sec)
    Records: 2  Duplicates: 0  Warnings: 0
    
    mysql> INSERT INTO tb1 SET id=3,name='王五';
    Query OK, 1 row affected (0.01 sec)
    
    SELECT 查询数据

    SELECT * FROM tab_name [WHERE];

    例:
    mysql> SELECT * FROM tb1;
    +------+--------+
    | id   | name   |
    +------+--------+
    |    1 | 张三   |
    |    2 | 李四   |
    +------+--------+
    2 rows in set (0.00 sec)

    UPDATE 更新数据

    UPDATE  tb_name 
    SET col_name1={expr1|DEFAULT}[,col_name2={expr2|DEFAULT}]...
    [WHERE where_condition];
    #例:
    mysql> SELECT * FROM tb1;
    +------+--------+
    | id   | name   |
    +------+--------+
    |    1 | 张三   |
    |    2 | 李四   |
    |    3 | 王五   |
    |    3 | 赵六   |
    +------+--------+
    4 rows in set (0.00 sec)
    mysql> UPDATE tb1 
        -> SET id=3;
    Query OK, 4 rows affected (0.01 sec)
    Rows matched: 4  Changed: 4  Warnings: 0
    mysql> UPDATE tb1 SET id=1 WHERE name='张三';
    Query OK, 1 row affected (0.00 sec)
    Rows matched: 1  Changed: 1  Warnings: 0
    mysql> UPDATE tb1 SET name='佳能' WHERE id>1;
    Query OK, 3 rows affected (0.10 sec)
    Rows matched: 3  Changed: 3  Warnings: 0

    DELETE 删除数据

    DELETE FROM tbl_name [WHERE where_conditon]; 

    不添加WHERE则会删除全部记录

     
    #例:
    mysql> SELECT * FROM tb1;
    +------+--------+
    | id   | name   |
    +------+--------+
    |    1 | 张三   |
    |    3 | 佳能   |
    |    3 | 佳能   |
    |    3 | 佳能   |
    +------+--------+
    4 rows in set (0.00 sec)
    
    
    mysql> DELETE FROM `tb1` WHERE id=3;
    Query OK, 1 row affected (0.06 sec)
    mysql> DELETE FROM `tb1`;
    Query OK, 3 rows affected (0.13 sec)
    mysql> SELECT * FROM `tb1`;
    Empty set (0.00 sec)
    mysql>
    # mysql 数据类型
    整型   浮点型   日期类型   字符型
    mysql> create table tb2(
        -> id INT,
        -> name VARCHAR(20),    #指定长度,最多65535个字符。   ***变长
        -> sex CHAR(4),         #指定长度,最多255个字符。     ***定长
        -> price DOUBLE(4,2),   #双精度浮点型,m总个数,d小数位
        -> detail text,         #可变长度,最多65535个字符
        -> dates DATETIME,      #日期时间类型 YYYY-MM-DD HH:MM:SS
        -> ping  ENUM('好评','差评')  #枚举, 在给出的value中选择
        -> );
    insert into tb2 value( 1,'裤子','男',20.0,'这条裤子超级好!!!',now(),'好评');
     
  • 相关阅读:
    android基于adb的性能测试
    mysql-3 数据表的创建、增删改查
    17.3.16---python内建函数
    17.3.15---C语言详解FILE文件操作
    17.3.15---关于GPIO控制流水灯的信息
    17.3.15---关于GPIO学习笔记
    17.3.14--对于时钟的知识,涉及到的总结
    17.3.14对于面向对象的理解
    17.3.13--pycharm2和3的常识问题
    17.3.13--python编码问题
  • 原文地址:https://www.cnblogs.com/Jack-Ma/p/8645552.html
Copyright © 2020-2023  润新知