zoukankan      html  css  js  c++  java
  • MySQL的命令

    1、Mysql创建数据库:
    语法:create database 数据库名;
    例1,创建一个名为admin的数据库
    MariaDB [mysql]> create database admin;
    Query OK, 1 row affected (0.00 sec)
    
    在linux界面下可以使用mysqladmin命令创建数据库。
    语法:mysqladmin -u root -p create 数据库名。
    [root@localhost ~]# mysqladmin -u root -p create admin
    Enter password: 输入你的密码
    MariaDB [(none)]> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | admin              |
    | mysql              |
    | performance_schema |
    | test               |
    +--------------------+
    5 rows in set (0.00 sec)
    
    2、删除数据库:
    语法:drop database 数据库名;
    linux界面下使用mysqladmin -u root -p drop 数据库名。
    例2,删除admin这个数据库
    MariaDB [(none)]> drop database admin;
    Query OK, 0 rows affected (0.00 sec)
    
    MariaDB [(none)]> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | test               |
    +--------------------+
    4 rows in set (0.00 sec)
    
    3、MySQL的数据类型
    (1)整数的数据类型:
    类型 大小 范围(有符号) 范围(无符号) 用途
    TINYINT 1字节 (-128,127) (0,255) 小数值
    SMALLINT 2字节 (-32768,32767) (0,65535) 大数值
    MEDIUMINT 3字节 (-8388608,8388607) (0,16777215) 大数值
    INT或INTEGER 4字节 (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大数值
    BIGINT 8字节 (-9,223,372,036,854,775,808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值
    FLOAT 4字节 (-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) 0,(1.175 494 351 E-38,3.402 823 466 E+38) 单精度浮点型
    double 8字节 (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 双精度浮点型
    (2)日期和时间的类型
    DATE 3字节 1000-01-01,9999-12-31 YYYY-MM-DD 日期
    TIME 3字节 '-838:59:59'/'838:59:59' HH:MM:SS 时间
    YEAR 1字节 1901-2155 YYYY 年份
    DATETIME 8字节 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期加时间
    TIMESTAMP 4字节 1970-01-01 00:00:00/2038 YYYYMMDDHHMMSS 混合时间,时间戳
    (3)字符串类型
    CHAR 0-255字节 定常字符串
    VARCHAR 0-65535字节 变长字符串
    TINTBLOB 0-255字节 二进制字符串
    TINYTEXT 0-255字节 短文本字符串
    BLOB 0-65535 二进制长文本
    TEXT 0-65535 长文本
    MEDIUMBLOB 0-16777215字节 二进制中等长度文本
    MEDIUMTEXT 0-16777215字节 中等长度文本
    LONGBLOB 0-4 294 967 295字节 二进制形式的极大文本数据
    LONGTEXT 0-4 294 967 295字节 极大文本
    4、创建数据表
    语法:create table 表名 (列名 列类型);
    例3,创建Student表
    MariaDB [admin]> create TABLE student (
                        id int not null, 
                        name varchar(20) not null, 
                        sex char(5) not null, 
                        phone varchar(20) not null, 
                        primary key (id))
                        engine=InnoDB DEFAULT CHARSET=utf8;
    Query OK, 0 rows affected (0.01 sec)
    MariaDB [admin]> show columns from student;
    +-------+-------------+------+-----+---------+-------+
    | Field | Type        | Null | Key | Default | Extra |
    +-------+-------------+------+-----+---------+-------+
    | id    | int(11)     | NO   | PRI | NULL    |       |
    | name  | varchar(20) | NO   |     | NULL    |       |
    | sex   | char(5)     | NO   |     | NULL    |       |
    | phone | varchar(20) | NO   |     | NULL    |       |
    +-------+-------------+------+-----+---------+-------+
    4 rows in set (0.00 sec)
    
    5、删除表
    语法:drop table 表名。
    例4:删除student表
    MariaDB [admin]> drop table student;
    Query OK, 0 rows affected (0.00 sec)
    MariaDB [admin]> show tables ;
    Empty set (0.00 sec)
    
    6、修改表
    语法:alert table 表名 修改选项;
    修改选项:
    add column 列名 类型;(插入列)
    change column 旧列名 新列名 新列类型;(更改原有列)
    alter column 列名{set default 默认值|drop default}修改默认值|删除默认值
    modify column 列名 类型 (修改列的类型)
    drop column 列名 (删除列)
    rename to 新表名(重命名此表)
    例5:给student表添加email字段,类型为varchar
    MariaDB [admin]> alter table student add column email varchar(30);
    Query OK, 0 rows affected (0.00 sec)               
    Records: 0  Duplicates: 0  Warnings: 0
    
    MariaDB [admin]> show columns from student;
    +-------+-------------+------+-----+---------+-------+
    | Field | Type        | Null | Key | Default | Extra |
    +-------+-------------+------+-----+---------+-------+
    | id    | int(11)     | NO   | PRI | NULL    |       |
    | name  | char(30)    | YES  |     | NULL    |       |
    | sex   | char(5)     | NO   |     | NULL    |       |
    | phone | varchar(20) | NO   |     | NULL    |       |
    | email | varchar(30) | YES  |     | NULL    |       |
    +-------+-------------+------+-----+---------+-------+
    5 rows in set (0.00 sec)
    
    例6:更改student表的name列为st_name;
    MariaDB [admin]> alter table student change column name st_name char(10);
    Query OK, 0 rows affected (0.00 sec)               
    Records: 0  Duplicates: 0  Warnings: 0
    
    MariaDB [admin]> show columns from student;
    +---------+-------------+------+-----+---------+-------+
    | Field   | Type        | Null | Key | Default | Extra |
    +---------+-------------+------+-----+---------+-------+
    | id      | int(11)     | NO   | PRI | NULL    |       |
    | st_name | char(10)    | YES  |     | NULL    |       |
    | sex     | char(5)     | NO   |     | NULL    |       |
    | phone   | varchar(20) | NO   |     | NULL    |       |
    | email   | varchar(30) | YES  |     | NULL    |       |
    +---------+-------------+------+-----+---------+-------+
    
    
    7、查询数据
    语法:select 列名 from 表名 where 查询条件 limit N 
    limit 设定返回的记录数。
    例7:查询mysql数据库里user表的user和password列,只显示root用户。
    MariaDB [mysql]> select user,password from user where user = 'root' ;
    +------+----------+
    | user | password |
    +------+----------+
    | root |          |
    | root |          |
    | root |          |
    | root |          |
    +------+----------+
    4 rows in set (0.00 sec)
    
    8、插入数据
    语法:insert into 表名 (列1,列2,···,列3)values (值1,值2,···,值3);
    添加的值如果是字符型必须用单引号或双引号引起来。
    例8:添加数据到表student;
    MariaDB [admin]> insert into student (id,st_name,sex,phone,email) values (1,'whr','man',1766262166,'admin@163.com');
    Query OK, 1 row affected (0.00 sec)
    
    MariaDB [admin]> select * from student;
    +----+---------+-----+------------+---------------+
    | id | st_name | sex | phone      | email         |
    +----+---------+-----+------------+---------------+
    |  1 | whr     | man | 1766262166 | admin@163.com |
    +----+---------+-----+------------+---------------+
    1 row in set (0.01 sec)
    
    9、更新数据
    语法:update 表名 set 列1=新值1,列2=新值2 where 条件;
    例9:修改id 1的名字为admin
    MariaDB [admin]> update student set st_name = 'admin' where id =1;
    Query OK, 1 row affected (0.00 sec)
    Rows matched: 1  Changed: 1  Warnings: 0
    
    MariaDB [admin]> select * from student;
    +----+---------+-----+------------+---------------+
    | id | st_name | sex | phone      | email         |
    +----+---------+-----+------------+---------------+
    |  1 | admin   | man | 1766262166 | admin@163.com |
    +----+---------+-----+------------+---------------+
    1 row in set (0.00 sec)
    
    10、删除数据
    语法:delete from 表名 where 条件;
    例10:删除id为1的所有数据。
    MariaDB [admin]> delete from student where id = 1;
    Query OK, 1 row affected (0.00 sec)
    
    MariaDB [admin]> select * from student;
    Empty set (0.00 sec)
    
    11、where子句的运用
    where子句是用来筛选数据。
    语法:以select为例,select 列1,列2,···,列n from 表1,表2,···,表n where 条件1 and|or 条件2;
    where子句的操作符有以下几种:
    =	是否相等
    <>,!=	不等于
    >	大于
    <	小于
    >=	大于等于
    <=	小于等于
    例11:查询mysql库user表中的host=localhost的所有数据。
    MariaDB [mysql]> select host,user from user where host = 'localhost';
    +-----------+------+
    | host      | user |
    +-----------+------+
    | localhost |      |
    | localhost | root |
    | localhost | whr  |
    +-----------+------+
    3 rows in set (0.01 sec)
    
    12、like语句
    语法:select * form 表名 where 列名1 like 所要筛选的字符;
    例12:查询mysql库user表中的host 包含main的数据。
    MariaDB [mysql]> select host,user from user where host like '%main';
    +-----------------------+------+
    | host                  | user |
    +-----------------------+------+
    | localhost.localdomain |      |
    | localhost.localdomain | root |
    +-----------------------+------+
    2 rows in set (0.00 sec)
    
    %为通配符,匹配任意长度的任意字符。
    13、orderby语句
    语法:select 列名1 ··· from 表1··· order by 列名1 ASC|DESC;
    ASC为顺序,DESC为逆序
    例13:查询student表中的数据安st_name进行顺序排序。
    MariaDB [admin]> select * from student order by st_name ASC;
    +----+---------+-----+------------+---------------+
    | id | st_name | sex | phone      | email         |
    +----+---------+-----+------------+---------------+
    |  2 | admin   | man | 1766262166 | admin@163.com |
    |  3 | main    | man | 1766262166 | admin@163.com |
    |  5 | main1   | man | 1766262166 | admin@163.com |
    |  4 | main3   | man | 1766262166 | admin@163.com |
    |  1 | whr     | man | 1766262166 | admin@163.com |
    +----+---------+-----+------------+---------------+
    5 rows in set (0.01 sec)
    
    14、union操作符
    用于把两个或两个以上的select语句连接起来。
    语法:select 语句1 union select 语句2 where 条件语句。
    15、MySQL的正则表达式
    模式 描述
    ^ 匹配输入字符串的开始位置
    $ 匹配字符串结束的位置
    . 匹配除‘
    ’以外的任意单个字符
    [...] 字符集合,匹配包含任意一个的字符
    [^...] 负值字符集合,匹配未包含的任意字符
    p1|p2|p3 匹配p1或p2或p3
    * 匹配前面的子表达式零次或多次
    + 匹配前面的子表达式一次或多次
    {n} n是一个非负整数,匹配确定的n次
    {n,m} m和n均为负整数,最少匹配n次,最多匹配m次
    例14:查询student中st_name以m开头的数据:
    MariaDB [admin]> select * from student where st_name regexp '^m';
    +----+---------+-----+------------+---------------+
    | id | st_name | sex | phone      | email         |
    +----+---------+-----+------------+---------------+
    |  3 | main    | man | 1766262166 | admin@163.com |
    |  4 | main3   | man | 1766262166 | admin@163.com |
    |  5 | main1   | man | 1766262166 | admin@163.com |
    +----+---------+-----+------------+---------------+
    3 rows in set (0.00 sec)
    

      

  • 相关阅读:
    Mongodb---记一次事故故障
    扎克伯格的中文夜:想要成功就不能放弃
    TTS-零基础入门之停止列表中单条语音播报
    卡尔曼滤波(Kalman Filter) 的进一步讨论
    2014.8.12-AKKA和Actor model 分布式开发环境学习小结
    c# 删除程序占用的文件,强力删除文件,彻底删除文件,解除文件占用
    Spring源代码解析和配置文件载入
    java调用c++ dll出现中文乱码
    Android任务栈TaskStack
    应用中清理缓存应用实现
  • 原文地址:https://www.cnblogs.com/shy13138/p/11506204.html
Copyright © 2011-2022 走看看