精华内容
下载资源
问答
  • MySQL数据库命令大全

    千次阅读 2019-11-28 08:54:50
    MySQL数据库命令大全 运维常用三种数据库命令类型: 数据库定义语言DDL: Data Defination Lanuage 数据库操作语言DML: Data Manupulate Language 数据库控制语言DCL: Data Control Language 1.数据库定义语言...

    **

    MySQL数据库命令大全

    运维常用三种数据库命令类型:

    1. 数据库定义语言DDL: Data Defination Lanuage
    2. 数据库操作语言DML: Data Manupulate Language
    3. 数据库控制语言DCL: Data Control Language

    1.数据库定义语言:

    Show 查看 系统数据库 / 数据库中的表 / 用户授权
    Desc 查看数据库中的数据结构
    Select 查看数据库中表的数据内容
    create 创建数据表 / 表 / 数据库访问用户
    Drop 删除数据库 / 表
    Alter 修改表

    2.数据库操作语言

    insert 对表插入新的内容 update 更新数据包内原有的数据内容 delete 删除表内已存在的数据内容

    3.数据库控制语言

    Create 建立数据库访问用户 Delete 删除数据库访问用户 Grant 建立或修改用户权限 Revoke
    取消用户数据库权限 Show 查看用户授权

    **

    其他类型数据库关键字
    flush privileges: 刷新数据库,将新配置的数据库信息同步到数据库

    use 库名:定义使用数据库,所有未明确指定被操作对象的库时的mysql语句,都对use指定的对象进行执行

    database:用于定义被操作对象类型,datasbase表示操作对象为库

    table:表示定义被操作对象类型,table表示操作对象为表

    where:指定匹配条件的关键字,在sql语句中where关键字跟匹配条件

    and:一般出现在where条件筛选中进行条件组合,表示同时满足条件1和条件2

    or:格式 : 条件1 or 条件2 ;满足其中一个条件即可
    not: 格式: not条件; 即除了此条件外

    *: 所有字段,一般在SELECT查数据内容语句中,在未明确指定查看字段中代表需要查看的所以列

    like:指定模糊查询条件关键字

    %:百分号,任意长度任意字符

    _: 下划线,单个任意字符

    is null:值为null

    is not null: 值不为null

    name=" : 判断值是否为空

    in(值1,值3) : 在集合中

    not in(值1,值3) : 不在集合中

    比较符:
    = :等于号
    != :不等于
    > :大于号
    < : 小于号
    >= : 大于等于
    <= : 小于等于

    运算符:
    + : 加号 select 1 + 2
    - : 减号
    / : 除号
    * :乘法
    % :取余

    展开全文
  • Windows-MySQL数据库命令大全(持续更新)

    千次阅读 多人点赞 2019-05-17 12:02:00
    MySQL 8.0.16 版本为例 下载地址:https://www.mysql.com/downloads/ 目录 一、ZIP安装 二、启动、停止 三、登录、退出 四、新增、编辑、删除用户 五、配置、查看、撤销用户权限 六、新增、查看、选择、...

    以MySQL 8.0.16 版本为例
    下载地址:https://www.mysql.com/downloads/

    目录

    一、ZIP安装

    二、启动、停止

    三、登录、退出

    四、新增、编辑、删除用户

    五、配置、查看、撤销用户权限

    六、新增、查看、选择、删除数据库

    七、新增、编辑、查看、复制、删除数据库表

    八、新增、编辑、删除数据

    九、查询数据

    十、数据统计、排序

    十一、多表查询+取某个字段最大值

    十二、查看、设置文件导出导入路径

    十三、数据、数据库导出

    十四、数据库、数据库表导入

    十五、插入、修改、删除字段(更新于20190520)

    十六、添加、删除主键(更新于20190520)

    十七、Linux下查看初始密码,编辑初始密码策略、配置文件存放路径(更新于20190613)



    一、ZIP安装

    官网下载ZIP包

    bin目录下添加配置文件my.ini

    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8
     
    [mysqld]
    # 设置3306端口
    port = 3306
    # 设置mysql的安装目录
    basedir=D:\\mysql-8.0.16-winx64
    # 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
    # datadir=C:\\web\\sqldata
    # 允许最大连接数
    max_connections=20
    # 服务端使用的字符集默认为8比特编码的latin1字符集
    character-set-server=utf8
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    # 设置导出文件路径
    # secure-file-priv="E:/file"
    secure-file-priv=""
    
    # 初始化数据库(bin目录下)
    mysqld --initialize --console
    
    # 安装mysql
    mysqld install
    
    # 卸载mysql
    mysqld remove

    二、启动、停止

    # 启动
    E:\> net start mysql
    # 停止
    E:\> net stop mysql
    

    三、登录、退出

    # 登录
    E:\> mysql -h(ip 地址) -u(用户名) -p(密码)
    # 登录本地数据库
    E:\> mysql -uroot -p
    # 退出
    mysql> exit
    

    四、新增、编辑、删除用户

    # 查看全部用户
    mysql> select user,host from mysql.user;
    
    # 新增用户
    mysql> CREATE USER '(用户名)'@'(ip地址)'
             -> IDENTIFIED BY '(密码)';
    
    # 修改用户名
    mysql> RENAME USER 'user1'@'localhost' TO 'user2'@'localhost';
    
    # 修改root用户初始密码
    alter user 'root'@'localhost' identified by '123456';
    
    # 修改用户密码
    mysql> set password for root@localhost = password('123456');
    
    # 删除用户
    mysql> DROP USER '(已存在的用户名)'@'(ip地址)';
    

    五、配置、查看、撤销用户权限

    # 配置超管权限(全部数据库,全部操作权限)
    mysql> GRANT ALL 
             -> ON *.*
             -> TO '(已存在的用户名)'@'(ip地址)'
             -> WITH GRANT OPTION;
    
    # 具有访问bankaccount数据库的所有数据库级权限
    mysql> GRANT ALL
             -> ON bankaccount.*
             DTO '(已存在的用户名)'@'(ip地址)';
    
    # 具有访问expenses数据库的特定数据库级权限,例如查询,插入,更新,删除等
    mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
             -> ON expenses.*
             -> TO '(已存在的用户名)'@'(ip地址)';
    
    # 具有特定的表级权限,可以从域中的任何主机访问数据库中 的 addresses表
    mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
             -> ON customer.addresses
             -> TO '(已存在的用户名)'@'(ip地址)';
    
    # 查看用户权限
    mysql> SHOW GRANTS FOR 'admin'@'localhost';
    
    # 查看非特性属性
    mysql> SET print_identified_with_as_hex = ON;
    mysql> SHOW CREATE USER 'admin'@'localhost'\G
    
    # 撤销全部权限
    mysql> REVOKE RELOAD
             -> ON *.*
             -> FROM '(已存在的用户名)'@'(ip地址)';
    
    # 撤销数据库权限
    mysql> REVOKE CREATE,DROP
             -> ON expenses.*
             -> FROM '(已存在的用户名)'@'(ip地址)';
    
    # 撤销数据库表权限
    mysql> REVOKE INSERT,UPDATE,DELETE
             -> ON customer.addresses
             -> FROM '(已存在的用户名)'@'(ip地址)';
    

    六、新增、查看、选择、删除数据库

    # 新增数据库
    mysql> CREATE DATABASE (数据库名);
    
    # 查询全部数据库
    mysql> show databases;
    
    # 选择数据库
    mysql> use (数据库名);
    
    # 删除数据库
    mysql> DROP DATABASE (数据库名);
    

    七、新增、编辑、查看、复制、删除数据库表

    # 新增数据库表
    mysql> CREATE TABLE IF NOT EXISTS `test_data_1`(
             -> `id` INT UNSIGNED AUTO_INCREMENT, # 自动新增
             -> `title` VARCHAR(100) NOT NULL, # char类型,不可为空
             -> `author` VARCHAR(40) , # char类型,可以为空
             -> `number` INT(10), # int类型,可以为空
             -> `date` DATE,
             -> PRIMARY KEY ( `id` ) # 主键
             -> )ENGINE=InnoDB DEFAULT CHARSET=utf8;
      
    # 修改数据表名
    mysql> alter table table_name rename to table_name_new;
    
    #查看所有数据库表
    mysql> SELECT table_name 
             -> FROM information_schema.tables 
             -> WHERE table_schema='(数据库名)';
    
    # 复制数据库表
    mysql> CREATE TABLE (新数据库表名) LIKE (旧数据库表名);
    mysql> CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
    
    # 删除数据库表
    mysql> DROP TABLE test_data_1;
    

    八、新增、编辑、删除数据

    # 新增数据
    mysql> INSERT INTO test_data_1
              -> (title, author, date)
              -> VALUES
              -> ("学习", "小明", NOW());
    
    # 编辑数据
    mysql> UPDATE test_data_1 SET title='打篮球' WHERE id=3;
    
    # 删除数据
    mysql> DELETE FROM test_data_1 WHERE id=3;
    

    九、查询数据

    # 查询全部信息
    mysql> SELECT * FROM test_data_1;
    
    # 查询全部title信息
    mysql> SELECT title FROM test_data_1;
    
    # 当id为1的时候,查询全部信息
    mysql> SELECT * FROM test_data_1 WHERE id=1;
    
    # 查询前五行信息
    mysql> SELECT * FROM table LIMIT 5;
    
    
    # 查询以 abc 为开头的数据
    mysql> SELECT * FROM test_data_1 WHERE author like ‘abc %’;
    
    # 查询以 abc 为结尾的数据
    mysql> SELECT * FROM test_data_1 WHERE author like ‘%abc ’;
    
    # 查询包含 abc 的数据
    mysql> SELECT * FROM test_data_1 WHERE author like ‘%abc %’;
    
    
    # 查询最大最小值
    mysql> select max(chinese_name) ,min(english_name) as english_name 
             -> from p 
             -> where id <11;
    
    
    # 查找name字段中以'st'为开头的所有数据
    mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
    
    # 查找name字段中以'ok'为结尾的所有数据
    mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
    
    # 查找name字段中包含'mar'字符串的所有数据
    mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
    
    # 查找name字段中以元音字符开头或以'ok'字符串结尾的所有数据
    mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';
    

    十、数据统计、排序

    # 统计总数
    mysql> select count(id) from s where revenue <500000;
    mysql> select count(id) as total from s where revenue <500000;
    
    
    # 以id顺序
    mysql> SELECT * FROM test_data_1 ORDER BY id ASC;
    
    # 以id倒序
    mysql> SELECT * FROM test_data_1 ORDER BY id DESC;
    

    十一、多表查询+取某个字段最大值

    mysql> SELECT p.id,p.chinese_name,MAX(s.revenue) as revenue
        -> FROM p
        -> LEFT JOIN s ON (p.id=s.id)
        -> WHERE p.english_name = 'james'
        -> GROUP BY p.id
        -> ORDER BY MAX(revenue) desc;
    

    13136383-335ddb382d0f9e41.png

    十二、查看、设置文件导出导入路径

    # 查询文件导出导入路径
    mysql> show variables like '%secure_file_priv%';
    
    # 设置导出文件路径(在my.ini配置文件的mysqld下添加)
    secure-file-priv="" # 无路径限制,不推荐
    secure-file-priv="E:/file"
    

    十三、数据、数据库导出

    # 导出数据表(仅数据,不包含数据表结构)
    mysql> SELECT * into outfile 'E:/file/test1.csv' FROM test_data_1;
    
    mysql> SELECT id,title,name into outfile 'E:/file/test1.csv'
        -> FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
        -> LINES TERMINATED BY '\n'
        -> FROM test_data_1;
    
    
    # 导出数据和数据库表结构
    E:\mysql-8.0.16\bin> mysqldump -uroot -p123456 test_basess haha > E:/file/db.sql
    

    十四、数据库、数据库表导入

    # 仅导入数据库表
    mysql> source e:/file/test_base.sql;
    
    # 导入数据库表的同时创建新的数据库,需要在表数据的前面添加这段代码
    --
    -- Current Database: `test_haha`
    --
    
    DROP SCHEMA IF EXISTS test_haha;
    CREATE SCHEMA test_haha;
    USE test_haha;
    

    13136383-d12437b887040b6c.png

     

    十五、插入、修改、删除字段(更新于20190520)

    # 默认插入在最后一列
    mysql> ALTER TABLE test_data ADD  number INT(4) ;
    
    # 插入在指定列后面
    mysql> ALTER TABLE test_data ADD  number INT(4)  AFTER id;
    
    # 插入在第一列
    mysql> ALTER TABLE test_data ADD  number INT(4) FIRST;
    
    # 修改字段名称
    mysql> ALTER TABLE test_data CHANGE test test1 CHAR(32) NOT NULL DEFAULT CHARSET=utf8;
    
    # 把name字段移动到id后面
    mysql> ALTER TABLE name MODIFY card CHAR(10) AFTER id;
    
    # 把id字段移动到第一位
    mysql> ALTER TABLE id MODIFY test CHAR(32) NOT NULL DEFAULT '123' FIRST;
    
    # 删除字段id
    mysql> ALTER TABLE test_data DROP id;
    
    

    十六、添加、删除主键(更新于20190520)

    # 添加主键
    mysql> ALTER TABLE test_data ADD PRIMARY KEY(id);
    
    # 添加复合主键
    mysql> ALTER TABLE test_data ADD PRIMARY KEY(id,name);
    
    # 删除主键
    mysql> ALTER TABLE test_data DROP PRIMARY KEY;
    
    # 自增主键需要先删除自增长属性
    mysql> ALTER TABLE test_data MODIFY id INT UNSIGNED;

    十七、Linux下查看初始密码,编辑初始密码策略、配置文件存放路径(更新于20190613)

    # 查看初始密码
    [root@localhost ~]# grep 'temporary password' /var/log/mysqld.log
    
    # 查看mysql初始的密码策略
    mysql> SHOW VARIABLES LIKE ‘validate_password%’;
    
    # 降低密码的验证强度等级
    mysql> set global validate_password_policy=LOW; 
    

     mysql 密码策略相关字段参数解释:

    字段解释
    validate_password_length固定密码的总长度
    validate_password_dictionary_file指定密码验证的文件路径
    validate_password_mixed_case_count整个密码中至少要包含大/小写字母的总个数
    validate_password_number_count整个密码中至少要包含阿拉伯数字的个数
    validate_password_policy指定密码的强度验证等级,默认为 MEDIUM
    validate_password_special_char_count整个密码中至少要包含特殊字符的个数

     

     

     

     

     

     

     

     

    validate_password_policy 的取值参考:

    取值解释
    0/LOW只验证长度
    1/MEDIUM验证长度、数字、大小写、特殊字符
    2/STRONG验证长度、数字、大小写、特殊字符、字典文件

     

     

     

     

     

    配置文件存放路径:

    文件类型存放路径
    配置文件/etc/my.cnf
    日志文件/var/log/mysqld.log
    服务启动脚本/usr/lib/systemd/system/mysqld.service
    socket文件/var/run/mysqld/mysqld.pid

     

    展开全文
  • MySQL数据库命令

    万次阅读 多人点赞 2018-10-07 20:45:25
    1.对数据库常用命令 1.连接数据库 mysql -u用户名 -p密码 2.显示已有数据库 show databases; 3.创建数据库 create database sqlname; 4.选择数据库 use database sqlname; 5.显示数据库中的表(先选择...

    1.对数据库常用命令

    1.连接数据库
    mysql -u用户名 -p密码
    2.显示已有数据库
    show databases;
    3.创建数据库
    create database sqlname;
    4.选择数据库
    use database sqlname;
    5.显示数据库中的表(先选择数据库)
    show tables;
    6.显示当前数据库的版本信息以及连接用户名
    select version(),user();
    7.删除数据库(删除时没有提示直接删除)
    drop database sqlname;

    2.数据库中对表的命令

    1.创建表
    (1)语法:
    create table tablename(
    字段1 数据类型 字段属性

    字段n
    );
    (2)注意:
    1.创建表时为了防止与保留字冲突,用’'括起来
    2.单行注释:#…
    多行注释://
    3.创建表时多字段中间用英文逗号隔开,最后一行不用逗号。
    (3) 字段约束和属性
    1.非空约束 not null(字段不允许为空)
    2.默认约束 default(设置默认值)
    3.唯一约束 unique key(uk)(设置字段的值是唯一的,可为空,但只能有一个空值)
    4.主键约束 primary key(pk)(作为表记录的唯一标识)
    5.外键约束 foreign key(fk)(用于两个表之间建立关系,需要指定引用主表的哪一字段。在数据库的存储引擎中InnoDB支持外键,MyISAM不支持外键。
    作为外键的字段要求是主表中的主键(单字段主键))

    添加外键约束:
    CONSTRAINT FK_外键名 FOREIGN KEY(字表中外键字段)REFERENCES 关联表名 (关联字段)。
    grandid作为字表的外键
    grandid
    在这里插入图片描述
    1.设置自增auto_increment=n,从n开始。
    2.设置自增set @@ auto_increment_increment=m,步长为m。
    在这里插入图片描述
    3.多字段设置主键:primary key(字段1,字段2…字段n)
    4.表中的注释/说明性文字:)comment=“说明文字”;
    5.设置字符集:)charset=“字符集”;
    6.查看表的结构:describe’表名’/desc 表名
    7.查看数据库定义:show create database sqlname;
    8.查看数据表定义:show create table tablename;
    9.查看默认存储引擎:show variables like’storage_engine%’;
    11.指定表的存储引擎:)engine=存储引擎;
    10.删除表:drop table ‘tablename’;
    11.获取当前日期:now();
    12.修改表:
    (1)修改表名:alter table 旧表名 rename 新表名;
    (2)添加字段:alter table 表名 add 字段名 数据类型…;(添加新的字段)
    (3)修改字段:alter table 表名 change 原字段名 新字段名 数据类型…;
    (4)删除字段:alter table 表名 drop 字段名;
    (5)在创建完表以后添加主键约束:
    alter table 表名 add constraint 主键名 primary key 表名(主键字段);
    (6)创建完表以后添加外键约束(作为外键的字段要求是主表中的主键(单字段主键)):
    alter table 表名 add constraint 外键名 foreign key(外键字段) references 关联表名 (关联字段);

    插入数据

    1.插入单行数据:
    insert into 表名 (字段名列表(逗号隔开)) values(值列表(逗号隔开));
    2.插入多行数据 :
    insert into 表名(字段名列表) values (值列表1), … ,(值列表n);
    3.将查询结果插入到新表中:
    create table 新表(select 字段1, … ,from 原表);

    查询student表中的id,name,sex,phone数据插入到newstudent表中:
    
    CREATE TABLE newstudent(SELECT id,`name`,sex,phone FROM student);
    
    

    3.更新数据(修改数据):
    update 表名 set 列名=更新值 where 更新条件;

    修改newstudent表中id=1001的数据名字为tom:
    
    UPDATE newstudent SET `name`='tom' WHERE id=1001;
    
    

    4.删除数据
    (1)delete from 表名 where 删除条件;
    delete 删除的是整条数据,不会只删除单个列。

    删除newstudent表中名字为tom的数据:
    
    DELETE FROM newstudent WHERE `name`='tom';
    

    (2)truncate table 删除数据:
    truncate table 删除的是表中所有的行,但表的结构,列,约束,索引等不会改变。不能用于有外键约束的表。删除数据不能恢复。
    truncate table 表名 where 删除条件;

    数据查询

    1.使用select查询
    select 列名/表达式/函数/常量 from 表名 where 查询条件 order by 排序的列名asc/desc;
    (1)查询所有的数据行和列:
    select * from 表名;
    (2)查询部分行和列:
    select 列名… from 表名 where 查询条件;
    (3)在查询中使用列的别名:
    select 列名 AS 新列名 form 表名 where 查询条件;
    计算,合并得到新的列名:
    select 列名1+’.’+列名2 AS 新列名 from 表名;
    (4)查询空值:
    通过is null 或者 is not null 判断列值是否为空

    查询student表中Email为空的学生姓名:
    
    SELECT `name` FROM student WHERE Email IS NULL;
    

    2.分组查询
    在这里插入图片描述

    #查询不同课程的平均分,最低分,最高分,并查询出平均分大于80分的课程
    SELECT r.subjectno,sub.`SubjectName` 课程名称,AVG(StudentResult) 平均分,
    MAX(StudentResult) 最高分,MIN(StudentResult) 最低分
    FROM result r INNER JOIN `subject` sub
    ON r.`SubjectNo`=sub.`SubjectNo` 
    GROUP BY r.subjectno
    #where AVG(StudentResult)>=80出现错误,
    #分组查询group by 在where语句后,
    #group by 约束条件使用having语句
    HAVING AVG(StudentResult)>=80;
    
    

    在这里插入图片描述

    常用函数

    1.聚合函数:
    (1)AVG (平均值):select avg(列名)from 表名
    假设列名为成绩 则查询到的是表中所有成绩的平均值。
    (2)count 返回某字段的行数
    (3)max 返回某字段的最大数
    (4)min 返回某字段的最小值
    (5)sum 返回某字段的和。
    2.字符串函数:
    (1)concat() 连接字符串s1,s2…sn为一个完整的字符串。
    (2)insert(s1,p1,n,news)将字符串s1从p1位置开始,n个字符长的字串替换为字符串news。
    (3)lower(s)将字符串s中的所有字符改为小写。
    (4)upper(s)将字符串s中的所有字符改为大写。
    (5)substring(s,num,len)返回字符串s的第num个位置开始长度为len的子字符串。
    3.时间日期函数:
    (1)获取当前日期:curdate();
    (2)获取当前时间:curtime();
    (3)获取当前日期和时间:now();
    (4)返回日期date为一年中的第几周:week(date);
    (5)返回日期date的年份:year(date);
    (6)返回时间time的小时值:hour(time);
    (7)返回时间time的分钟值:minute(time);
    (8)返回日期参数(date1和date2之间相隔的天数):datediff(date1,date2);
    (9)计算日期参数date加上n天后的日期:adddate(date,n);
    4.数学函数
    (1)返回大于或等于数值x的最小整数:ceil(x);
    (2)返回小于或等于数值x的最大整数:floor(x);
    (3)返回0~1之间的随机数:rand();
    order by 子句
    order by子句按照一定的顺序排列查询结果,asc升序排列,desc降序排列。
    limit子句
    显示指定位置指定行数的记录。
    select 字段名列表 form 表名 where 约束条件 group by分组的字段名 order by 排序列名 limit 位置偏移量,行数;
    #查询学生信息里gid=1按学号升序排列前四条记录
    在这里插入图片描述

    #查询学生信息里gid=1按学号升序排列前四条记录(步长)
    SELECT id,`name` FROM `student1` WHERE gid=1 ORDER BY id LIMIT 4;
    (查询表里全部信息中gid=1的前四个学生)
    

    查询结果:
    在这里插入图片描述

    
    #查询学生信息里gid=1按学号升序排列前四条记录(位置偏移量,步长)
    SELECT id,`name` FROM `student1` WHERE gid=1 ORDER BY id LIMIT 4,4;
    (查询表中全部信息gid=1前四条以后的全部信息中的前四条学生信息)
    

    查询结果:
    在这里插入图片描述

    模糊查询

    in子查询******not in 子查询
    使用in关键字可以使父查询匹配子查询返回的多个单字段值。
    解决使用比较运算符(=,>等),子查询返回值不唯一错误信息。
    like模糊查询
    LIKE语句语法格式:select * from 表名 where 字段名 like 对应值(子串)。

    它主要是针对字符型字段的,它的作用是在一个字符型字段列中检索包含对应子串的。

    A:% 包含零个或多个字符的任意字符串: 1、LIKE’Mc%’ 将搜索以字母 Mc 开头的所有字符串(如 McBadden)。
      2、LIKE’%inger’ 将搜索以字母 inger 结尾的所有字符串(如 Ringer、Stringer)。
      3、LIKE’%en%’ 将搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)。
      B:_(下划线) 任何单个字符:LIKE’_heryl’ 将搜索以字母 heryl 结尾的所有六个字母的名称(如 Cheryl、Sheryl)。
      C:[ ] 指定范围 ([a-f]) 或集合 ([abcdef]) 中的任何单个字符:、
      1,LIKE’[CK]ars[eo]n’ 将搜索下列字符串:Carsen、Karsen、Carson 和 Karson(如 Carson)。
      2、LIKE’[M-Z]inger’ 将搜索以字符串 inger 结尾、以从 M 到 Z 的任何单个字母开头的所有名称(如 Ringer)
      ***D:[^] 不属于指定范围 ([a-f]) 或集合 ([abcdef]) 的任何单个字符:LIKE’M[^c]%’ 将搜索以字母 M 开头,并且第二个字母不是 c 的所有名称(如MacFeather)。
      E: 它同于DOS命令中的通配符,代表多个字符
    :c
    c代表cc,cBc,cbc,cabdfec等多个字符。
      F:?同于DOS命令中的?通配符,代表单个字符 :b?b代表brb,bFb等
      G:# 大致同上,不同的是代只能代表单个数字。k#k代表k1k,k8k,k0k 。
      F:[!] 排除 它只代表单个字符
      下面我们来举例说明一下:
      例1,查询name字段中包含有“明”字的。
      select * from table1 where name like ‘%明%’
      例2,查询name字段中以“李”字开头。
      select * from table1 where name like '李

      例3,查询name字段中含有数字的。
      select * from table1 where name like ‘%[0-9]%’
      例4,查询name字段中含有小写字母的。
      select * from table1 where name like ‘%[a-z]%’
      例5,查询name字段中不含有数字的。
      select * from table1 where name like ‘%[!0-9]%’
      可以自定义转移符----》escape’自定义转移符’
      distinct------》去除重复项
      
      between*and模糊查询
     操作符 BETWEEN … AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。
     null ,not null查询

    -- 查询手机号不为null的用户数据
    SELECT * from user where phone is not null;
     
    -- 查询手机号为null的用户数据
    SELECT * from user where phone is null;
    

    exists 子查询 not exists子查询
    exists子查询用来确认后边的查询是否继续进行
    drop table if exists test—>判断是否存在表test,如果存在就删除。
    not exists实现取反操作。对不存在对应查询条件的记录。

    多表连接查询

    多表连接查询是通过各个表之间共同列的关联性来查询数据。
    1.内连接查询
    内连接查询根据表中共同的列进行匹配。取两个的表的交集。两个表存在主外键关系是通常使用内连接查询。
    内连接使用inner join…on 关键字或者where子句来进行表之间的关联。
    inner 可省略 on 用来设置条件。
    (1)在where子句中指定连接条件
    (2)在from中使用inner join…on关键字

    #查询学生姓名和成绩
    SELECT studentname,studentresult FROM student s,result r
    WHERE s.`StudentNo`=r.`StudentNo`
    
    #在from中使用inner join....on关键字
    SELECT s.`StudentName`,r.`StudentResult` ,r.`SubjectNo`FROM student s
    INNER JOIN result r ON s.`StudentNo`=r.`StudentNo`
    

    两种方法查询结果相同。
    2.外连接查询
    外连接查询中参与连接的表有主从之分,已主表的每行数据匹配从表的数据列,将符合连接条件的数据直接返回到结果集中,对不符合连接条件的列,将被填上null值再返回到结果集中。
    (1)左外连接查询
    left join…on 或者left outer join…on关键字进行表之间的关联。

    SELECT s.`StudentName`,r.`StudentResult` ,r.`SubjectNo`FROM student s
    LEFT JOIN result r ON s.`StudentNo`=r.`StudentNo`
    

    将没有成绩的学生成绩查出。
    (2)右外连接查询
    右外连接包含右表中所有的匹配行,右表中有的项在左表中没有对应的项将以null值填充。
    right join…onright outer join…on关键字进行表之间的关联。
    (3)自连接
    把一个表作为两个表使用。

    #创建一个表
    CREATE TABLE book(
    id INT(10),
    sort INT(10),
    books VARCHAR(10) NOT NULL
    );
    #插入数据
    INSERT INTO book VALUES (2,1,'古文书'),
    (3,1,'现代书'),
    (4,2,'《三字经》'),
    (5,2,'《唐诗三百首》'),
    (6,3,'《我与地坛》'),
    (7,2,'《游大林寺》'),
    (8,2,'《王右军年减十岁时》'),
    (9,3,'《致橡树》');
    
    #查询结果为:
    #书籍类型       书籍名
    #古文书         三字经....
    #现代书         我与地坛....
    
    SELECT a.books 书籍类型, b.books 书籍名  
    FROM book a,book b
    WHERE a.id=b.sort;
    

    在这里插入图片描述
    自连接查询结果:
    在这里插入图片描述

    MySQL的事务,视图,索引,备份和恢复

    1.事务
    事务是指将一系列数据操作捆绑成为一个整体进行统一管理。
    把所有的命令作为一个整体一起向系统提交或者撤销造组偶请求。
    事务属性:原子性,一致性,隔离性,持久性。
    myISA存储引擎不支持事务。

    关闭事务自动提交:set autocommit=0;
    (1)开始事务:begin/start transaction;
    (2)提交事务:commit;
    (3)回滚/撤销事务:rollback;
    恢复自动提交:set autocommit=1;
    设置结果集以??编码格式显示:set names ??;
    2.视图
    视图是一种查看数据库中一个或多个表中数据的方法。视图是一种虚拟表,作为来自一个或多个表的行或列的子集创建的。视图充当查询中的表筛选器的角色。
    (1)创建视图:create view 视图名 as <select语句>
    (2)删除视图:drop view 视图名;
    (3)查看视图数据:select 。。。。。from 视图名;
    3.索引
    索引类似于书的目录,使用索引可以将数据库程序无须对整个表扫描就可以在其中找到所需数据。
    (1)普通数据:允许重复和空值。
    (2)唯一索引:不允许出现重复。可以有多个唯一索引。
    (3)主键索引:非空,唯一。删除时drop primary key;
    (4)复合索引:将多个列组合作为索引。?
    (5)全文索引:可重复和空值,在char,varchar,text创建。
    where match(列名)against (‘查找内容’);
    (6)空间索引:对空间数据类型的列建立的索引。

    创建索引:
    create 【索引类型】index 索引名 on 表名 (创建索引的列);
    或者创建表时之间在列后面加上索引类型。
    或者修改表alter table 表名 add index 索引名 (索引列);
    删除索引:drop index 索引名;
    查看索引:show index from 表名;
    4.数据库备份和恢复
    1.使用mysqldump命令备份数据库
    mysqldump -u -p 数据库名>备份数据库位置及名字;
    表数据导出到文本文件
    select *from 表名 where 查询条件 into outfile 备份数据库位置及名字;

    2.使用mysql命令恢复数据库(先创建新的数据库)
    mysql -u -p 新创建数据库名<所要恢复数据库位置及文件名;
    source命令恢复数据库
    source 数据库备份文件;

    新建用户

    #创建本地用户
    CREATE USER `user`@`localhost` IDENTIFIED BY '123123';
    #用户可登陆任何远程主机,使用通配符%
    CREATE USER `user2`@`123%` IDENTIFIED BY '123123';
    #对用户进行全部权限授权
    GRANT ALL ON mysql.`user` TO `user2`@`123%`;
    #对已创建的用户授权
    GRANT SELECT,INSERT ON mysql.`user` TO `user2`@`123%`; 
    #创建用户时授权
    GRANT SELECT,INSERT ON mysql.`user` TO `user_2`@`123%` IDENTIFIED BY '123123';
    #删除用户user2(使用删除语句时必须拥有数据库全局权限或select权限)
    DROP USER `user2`@`123%`;
    DROP USER `user_2`@`123%`;
    DROP USER `user`@`localhost`;
    #mysqladmin修改超级用户user2账户密码(mysqladmin命令在cmd中使用,只能修改超级用户密码)
    mysqladmin -u root -p PASSWORD "123456";
    #修改当前登录用户密码
    SET PASSWORD =PASSWORD("123456");
    #修改其他用户密码
    SET PASSWORD FOR `user2`@`123%`=PASSWORD("123456");
    

    在这里插入图片描述

    展开全文
  • MySQL数据库常用命令大全

    万次阅读 多人点赞 2018-08-19 18:02:44
    常用命令大全(持续更新) show databases;显示所有数据库 create database name;创建数据库 use name;使用数据库 drop name 直接删除数据库, 不提醒 show tables; 显示数据库中的表 desc name ;显示表的详细...

                                    常用命令大全(持续更新)

    show databases;显示所有数据库

    create database name;创建数据库

    use name;使用数据库

    drop  name 直接删除数据库, 不提醒

    show tables; 显示数据库中的表

    desc name ;显示表的详细数据

    create database mysql;创建一个数据库mysql

    创建表:

    create table 表名(
        列名1 类型 约束,
        列名2 类型 约束,
        ...
        列名n 类型 约束,
        约束
    );

    给表中插入数据:

    insert into 表名(列1, 列2...列n) values (值1,值2... 值n);

    查询数据:

    select * from name;

    重新命名表:

    alter name rename as name1;

    导入数据:

    1,mysql > source 路径\sql文件的名称

    2,在cmd窗口运行

    mysql -uroot -p test3 <路径 文件名字.sql

    导出数据:

    在cmd窗口运行

    mysql dump -uroot -p数据库名字 > 文件名.sql

    修改

    update 表 set 列名=新值, 列2=值2 ...;  -- 修改表中所有的行

    update 表 set 列名=新值, 列2=值2 ... where 列名=条件;   -- 仅更新符合条件的记录

    删除

    delete from 表名; -- 删除这个表中所有记录,但表的定义不动

    delete from 表名 where 列名=条件; -- 仅删除符合条件的记录

    drop table 表名; -- 删除这个表,连同里面的数据

     

     

    展开全文
  • MySQL数据库+命令大全+常用操作

    千次阅读 多人点赞 2020-09-01 23:33:49
    首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>...
  • Linux下操作MySQL数据库常用命令

    千次阅读 2018-09-21 09:15:23
    目录   1.连接数据库 2.查看数据库 3.打开数据库 ...mysql -u -root -p 输入密码 2.查看数据库 show databases;  3.打开数据库 use database;  4.查看该数据库下的表名 show tabl...
  • MySQL常用命令大全(完整)

    千次阅读 多人点赞 2020-04-16 13:13:53
    打开 Linux 或 MacOS 的 Terminal (终端)直接...1、mysql服务的启动和停止 net stop mysql net start mysql 启动失败可按快捷键 win+R,输入 services.msc,找到MySQL服务器的名称启动 2、登陆mysql mysql (...
  • MySql数据库常用命令总结(全)

    千次阅读 多人点赞 2016-12-15 09:22:10
    一、数据库命令1. 数据库连接命令mysql -h主机地址 -u用户名 -p用户密码  1、找到安装目录bin, 进入该工作目录,键入该命令mysql -u root -p,提示输入密码,用户名前可以有空格也可以没有空格,但是密码前...
  • mysql数据库基础操作命令大全

    万次阅读 多人点赞 2020-08-24 19:33:33
    SQL数据库语言 1.数据定义语言(CREATE,ALTER,DROP,DECLARE) 2.数据操纵语言(SELECT,DELETE,UPDATE,INSERT) 3.数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 创建数据库 create database my-database 删除数据库 ...
  • 你需要先安装Mysql数据库,其实就是安装Mysql数据库服务器,然后设置环境变量path,在cmd.exe里查询查看环境变量参数的命令是:path 第二步就是连接Mysql服务器,命令如下:mysql -h localhost -u root -p ...
  • Mysql命令大全(完整版)

    千次阅读 多人点赞 2018-08-26 18:27:26
    一、连接数据库 ...首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码. 注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码...
  • 转至 神马和浮云 ,命令未测试,主要是方便操作mysql时需要而记的笔记    例如: 数据库地址:127.0.0.1 数据库用户名:root 数据库密码:pass 数据库名称:myweb   备份数据库到D盘跟目录 mysqldump ...
  • 数据库之Mac下Mysql命令全集

    万次阅读 2016-02-03 16:39:01
    alias:给命令添加别名。要想在当前用户添加别名可以通过MAC配置环境变量来实现永久添加 1.打开终端输入:sudo vi ~/.bash_profile 2.例如复制下面内容到文件夹# mysql alias mysql='/usr/local/mysql/bin/mysql...
  • mysql数据库常用的一些基本命令

    万次阅读 多人点赞 2018-09-22 17:00:49
    yum - y install mysql-servse 启动mysql服务 service mysqld start 运行端口为3306 登陆 mysql -uroot 语法 :mysql -u账号 -p密码 默认是空密码 库和表 层次关系 库--&gt;表 create database 库名;创建一...
  • MySQL数据库自动补全命令

    千次阅读 2021-03-07 15:45:00
    MySQL数据库自动补全命令的三种方式 (一)、临时使用自动补全功能 mysql -u root -p --auto-rehash (二)、永久使用自动补全功能 vim /etc/my.cnf [mysql] auto-rehash (三)、使用软件mycli实现自动补全功能 ...
  • cmd命令行查看mysql数据库命令

    千次阅读 2019-10-07 10:46:12
    之前用MySql的时候用的图形化工具是navicat,用Oracle的时候用到的图形化工具是plsql,但是平时大部分时候是不使用这些图形化工具的,因为数据库没有特别大,一般直接使用cmd命令行来使用数据库,但是有些命令我不太...
  • mysql查找数据库命令

    千次阅读 2018-03-25 11:53:17
    查看mysql数据库版本方法总结 2014-07-24 17:48 by 潇湘隐者, 98140 阅读, 7 评论, 收藏, 编辑 当你接手某个mysql数据库管理时,首先你需要查看维护的mysql数据库版本;当开发人员问你mysql数据库版本时,而恰好你又...
  • 还原一个数据库:mysql -h localhost -u root -p123456 www备份一个数据库:mysqldump -h localhost -u root -p123456 www &gt; d:/www2008-2-26.sql //以下是在程序中进行测试//$command = "mysqldump --...
  • MySql数据库:数据查重、去重的实现

    万次阅读 2017-11-05 15:41:20
    MySql数据库记录查重去重
  • MySQL 数据库常用命令小结

    万次阅读 多人点赞 2010-01-04 21:52:00
    MySQL 数据库常用命令 1、MySQL常用命令 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删除数据库,不提醒 show tables; 显示表 describe tablename; 表的详细描述 ...
  • 命令行启动MySQL数据库

    千次阅读 2020-09-02 18:31:19
    我们安装好MySQL后,其实可以直接使用“命令提示符”进行数据库的操作的,不需要使用第三方工具。 本专栏就是专门讲解命令行操作数据库。 启动MySQL 首先按下电脑的win键,输入cmd,在显示出来的命令提示符里,...
  • MySQL创建数据库和创建数据表

    万次阅读 多人点赞 2019-10-20 23:44:40
    MySQL 创建数据库和创建数据表 MySQL 是最常用的数据库,在数据库操作中,基本都是增删改查操作,简称CRUD。 在这之前,需要先安装好 MySQL ,然后创建好数据库、数据表、操作用户。 一、数据库操作语言 数据库...
  • cmd命令创建连接MySQL数据库

    万次阅读 2019-05-06 01:40:21
    首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码. 如果刚安装好MYSQL,超级用户...
  • MySql数据库增删改查常用语句命令

    万次阅读 多人点赞 2020-05-03 17:55:40
    文章目录增删改查语句库操作表操作增删改查实例准备表插入数据修改表数据删除表数据查询表数据常见的MySQL语句命令常见MySQL字段含义 增删改查语句 增删改查的语句命令为: 操作 命令 增 insert 删 delete...
  • linux命令备份和还原mysql数据库

    万次阅读 2018-05-23 16:50:06
    备份数据库(如: test): ①可直接进入后台即可.(MySQL的默认目录:/var/lib/mysql ) ②输入命令: [root@obj mysql]# mysqldump -u root -p test&gt;/home/bak/2015-09-10/test.sql Enter password: 123456...
  • mysql数据库常用命令总结

    千次阅读 2017-12-12 21:43:22
    本文主要记录一些mysql日常使用的命令,供以后查询。 1.更改root密码 mysqladmin -uroot password 'yourpassword'1 2.远程登陆mysql服务器 mysql -uroot -p -h192.168.137.10 -P33061 3.查询数据库 show...
  • mysql命令(一)进入数据库

    万次阅读 2020-04-08 16:10:33
    增删查数据库 # sql语句后一般要加分号 create database 数据库名 default character set 编码格式 collate 校对规则; # 常见编码:utf8 # 常见规则: utf8_general_ci(字符串大小写不敏感) utf8_general_cs(大...
  • MySql数据库——登录和常用命令

    千次阅读 2018-12-20 00:18:09
    A、启动、关闭服务 1、启动服务 命令:net start 服务器名称 例子:net start mysql80 2、关闭服务 命令:net stop 服务器名称 例子:net stop mysql80 B、登录和退出 1、登录 ...例子:mysql -...
  • MySQL创建数据库相关命令

    千次阅读 2017-06-23 13:28:16
    MySQL创建数据库相关命令
  • 数据库命令大全

    千次阅读 2018-09-13 10:52:49
    创建授权:grant select on 数据库.* to 用户名@登录主机 identified by \"密码\" 修改密码:mysqladmin -u用户名 -p旧密码 password 新密码 删除授权: revoke select,insert,updat...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 503,884
精华内容 201,553
关键字:

mysql数据库命令大全

mysql 订阅