zoukankan      html  css  js  c++  java
  • MySQL数据库基本操作(一)

    进入mysql

    本地连接:
    mysql -u用户名 -p
    输入密码 qwe123
    
    mysql -uroot -pqwe123      # 18
    
    sudo apt-get install mysql-server     # p2 (没有装导入版的)

    创建用户

    #创建用户
    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(),'好评');

    作业:

    建一张学生表 包含(id,姓名,年龄,性别)。
    1.增加三条数据
    2.查询所有数据
    3.删除id =3的数据,
    4.将性别为女的,修改为男

  • 相关阅读:
    jquery键盘事件
    如何将奇艺、优酷等平台的视频嵌入到项目中
    ubuntu 10.04 常用 设置
    博客风格收集
    多张图片上传预览
    动态计算输入框字符个数
    Ubuntu Linux下设置IP的配置命令
    js事件浏览器兼容
    开源软件下载站
    PHPstrom的一个小技巧
  • 原文地址:https://www.cnblogs.com/woaixuexi9999/p/9220780.html
Copyright © 2011-2022 走看看