zoukankan      html  css  js  c++  java
  • mysql的基本操作

    一、概念:
       数据: data
       数据库: DB
       数据库管理系统:DBMS
       数据库系统:DBS
       MySQL:数据库 
       mysql:客户端命令(用来连接服务或发送sql指令)
       SQL:结构化查询语言 ,其中MySQL支持这个。
       SQL语言分为4个部分:DDL、DML、DQL、DCL
      
    二、连接数据库:
       mysql -h 主机名 -u 用户名  -p密码  库名
      
       C:>mysql  --采用匿名账号和密码登陆本机服务
       C:>mysql -h localhost -u root -proot   --采用root账号和root密码登陆本机服务
       C:>mysql -u root -p   --推荐方式默认登陆本机
         Enter password: ****
    
       C:>mysql -u root -p lamp61  --直接进入lamp61数据库的方式登陆
      
    三、授权:
         格式:grant 允许操作 on 库名.表名 to 账号@来源 identified by '密码';
        
         --实例:创建zhangsan账号,密码123,授权lamp61库下所有表的增/删/改/查数据,来源地不限
         mysql> grant select,insert,update,delete on lamp61.* to zhangsan@'%' identified by '123';
         Query OK, 0 rows affected (0.00 sec)
        
    
    四、SQL的基本操作
         mysql>show databases;      --查看当前用户下的所有数据库
         mysql>create database [if not exists] 数据库名; --创建数据库
         mysql> use test;     --选择进入test数据库
         mysql> drop database 数据库名;  --删除一个数据库
        
         mysql> show tables; --查看当前库下的所有表格
         mysql> select database();  --查看当前所在的数据库
         mysql> desc tb1;  --查看tb1的表结构。
         mysql> create table demo(     --创建demo表格
              -> name varchar(16) not null,
              -> age int,
              -> sex enum('w','m') not null default 'm');
         Query OK, 0 rows affected (0.05 sec)
    
         mysql> desc demo;  --查看表结构
         +-------+---------------+------+-----+---------+-------+
         | Field | Type          | Null | Key | Default | Extra |
         +-------+---------------+------+-----+---------+-------+
         | name  | varchar(16)   | NO   |     | NULL    |       |
         | age   | int(11)       | YES  |     | NULL    |       |
         | sex   | enum('w','m') | NO   |     | m       |       |
         +-------+---------------+------+-----+---------+-------+
         3 rows in set (0.00 sec)
        
         mysql>drop table if exists mytab;  -- 尝试删除mytab表格
        
        
         --添加一条数据
         mysql> insert into demo(name,age,sex) values('zhangsan',20,'w');
         Query OK, 1 row affected (0.00 sec)
        
         mysql> insert into demo values('lisi',22,'m'); --不指定字段名来添加数据
         Query OK, 1 row affected (0.00 sec)
        
         mysql> insert into demo(name,age) values('wangwu',23); --指定部分字段名来添加数据
         Query OK, 1 row affected (0.00 sec)
        
         --批量添加数据
         mysql> insert into demo(name,age,sex) values('aaa',21,'w'),("bbb",22,'m');
         Query OK, 2 rows affected (0.00 sec)
         Records: 2  Duplicates: 0  Warnings: 0
        
         mysql> select * from demo; --查询数据
        
         mysql> update demo set age=24 where name='aaa';  --修改
         Query OK, 1 row affected (0.02 sec)
         Rows matched: 1  Changed: 1  Warnings: 0
             
         mysql> delete from demo where name='bbb';  --删除
         Query OK, 1 row affected (0.00 sec)
        
        
         mysql>h   -- 快捷帮助
         mysql>c   -- 取消命令输入
         mysql>s   -- 查看当前数据库的状态
         mysql>q   -- 退出mysql命令行
        
    五、 MySQL数据库的数据类型:
    
         MySQL的数据类型分为四大类:数值类型、字串类型、日期类型、NULL5.1 数值类型:
              *tinyint(1字节)
              smallint(2字节)
              mediumint(3字节)
              *int(4字节)
              bigint(8字节)
              *float(4字节)   float(6,2)
              *double(8字节) 
              decimal(自定义)字串形数值
             
         5.2 字串类型
              普通字串
              *char  定长字串        char(8) 
              *varchar 可变字串 varchar(8)
             
              二进制类型
              tinyblob
              blob
              mediumblob
              longblob
             
              文本类型
              tinytext
              *text      常用于<textarea></textarea>
              mediumtext
              longtext
             
              *enum枚举
              set集合
             
         5.3 时间和日期类型:
              date  年月日
              time  时分秒
              datatime 年月日时分秒
              timestamp 时间戳
              year 年
        
         5.4 NULL值
              NULL意味着“没有值”或“未知值”
              可以测试某个值是否为NULL
              不能对NULL值进行算术计算
              对NULL值进行算术运算,其结果还是NULL
              0或NULL都意味着假,其余值都意味着真
    
         MySQL的运算符:
              算术运算符:+ - * / %
              比较运算符:= > < >= <= <> !=
              数据库特有的比较:in,not in, is null,is not null,like, between and
              逻辑运算符:and or not
        
    六、 表的字段约束:
              unsigned 无符号(正数)
              zerofill 前导零填充
              auto_increment  自增
              default     默认值
              not null  非空
              PRIMARY KEY 主键 (非null并不重复)
              unique 唯一性   (可以为null但不重复)
              index 常规索引
             
    七: 建表语句格式:
         create table 表名(
            字段名 类型 [字段约束],
            字段名 类型 [字段约束],
            字段名 类型 [字段约束],
            ...
           );
    
         mysql> create table stu(
              -> id int unsigned not null auto_increment primary key,
              -> name varchar(8) not null unique,
              -> age tinyint unsigned,
              -> sex enum('m','w') not null default 'm',
              -> classid char(6)
              -> );
         Query OK, 0 rows affected (0.05 sec)
    
        
         mysql> desc stu;
         +---------+---------------------+------+-----+---------+----------------+
         | Field   | Type                | Null | Key | Default | Extra          |
         +---------+---------------------+------+-----+---------+----------------+
         | id      | int(10) unsigned    | NO   | PRI | NULL    | auto_increment |
         | name    | varchar(8)          | NO   | UNI | NULL    |                |
         | age     | tinyint(3) unsigned | YES  |     | NULL    |                |
         | sex     | enum('m','w')       | NO   |     | m       |                |
         | classid | char(6)             | YES  |     | NULL    |                |
         +---------+---------------------+------+-----+---------+----------------+
         5 rows in set (0.00 sec)
    
         mysql> show create table stuG  --查看建表的语句
         *************************** 1. row ***************************
                 Table: stu
         Create Table: CREATE TABLE `stu` (
           `id` int(10) unsigned NOT NULL auto_increment,
           `name` varchar(8) NOT NULL,
           `age` tinyint(3) unsigned default NULL,
           `sex` enum('m','w') NOT NULL default 'm',
           `classid` char(6) default NULL,
           PRIMARY KEY  (`id`),
           UNIQUE KEY `name` (`name`)
         ) ENGINE=MyISAM DEFAULT CHARSET=utf8
         1 row in set (0.00 sec)
    
         mysql>
         mysql> insert into stu(id,name,age,sex,classid) values(1,'zhangsan',20,'m','lamp
         61');
         Query OK, 1 row affected (0.00 sec)
    
         mysql> insert into stu(name,age,sex,classid) values('lisi',22,'w','lamp61');
         Query OK, 1 row affected (0.00 sec)
    
         mysql> insert into stu(name,age,classid) values('wangwu',21,'lamp61');
         Query OK, 1 row affected (0.00 sec)
    
         mysql> insert into stu values(null,'qq',24,'w','lamp62');
         Query OK, 1 row affected (0.00 sec)
    
         mysql> insert into stu values(null,'aa',20,'m','lamp62'),(null,'bb',25,'m','lamp
         63');
         Query OK, 2 rows affected (0.00 sec)
         Records: 2  Duplicates: 0  Warnings: 0
    
         mysql> select * from stu;
         +----+----------+------+-----+---------+
         | id | name     | age  | sex | classid |
         +----+----------+------+-----+---------+
         |  1 | zhangsan |   20 | m   | lamp61  |
         |  2 | lisi     |   22 | w   | lamp61  |
         |  3 | wangwu   |   21 | m   | lamp61  |
         |  4 | qq       |   24 | w   | lamp62  |
         |  5 | aa       |   20 | m   | lamp62  |
         |  6 | bb       |   25 | m   | lamp63  |
         +----+----------+------+-----+---------+
         6 rows in set (0.00 sec)
        
        
    八、修改表结构
    
    
    
    
    //需求分析->功能(模块)->数据库设计->找实体、找属性、找关系
    
    九、数据的备份与恢复( mysqldump...> 和 mysql...<--=====================================
    -- 1. 将lamp103数据库整个导出保持到d盘的lamp103.sql文件
    D:>mysqldump -u root -p lamp103>d:/lamp103.sql
    Enter password:
    
    -- 2. 将lamp103库中uu表导出。
    D:>mysqldump -u root -p lamp103 uu>d:/lamp103_uu.sql
    Enter password:
    
    -- 3. 将lamp103数据库导入(恢复)
    D:>mysql -u root -p lamp103<./lamp103.sql
    Enter password:
    
        
        
        
    
    
        
      

  • 相关阅读:
    JMeter学习使用(1)
    ip设置
    JMeter安装过程小问题
    appium-doctor
    使用 Xcode-Instrument-Automation -App -Ios自动化测试
    接口测试学习 -01
    在Windows下安装配置jforum测试环境
    root_one Android自动化测试02--git拉取及eclipse导入
    selenium+python学习总结-mac
    MySQL速学篇第四课
  • 原文地址:https://www.cnblogs.com/zhaizhendong/p/6742469.html
Copyright © 2011-2022 走看看