精华内容
下载资源
问答
  • SQL建立数据库及删除数据库命令,需要使用sqlserver的朋友可以参考下。
  • mysql drop database命令用于删除一个数据库,如果试图使用drop database命令删除一个不存在的数据库,那么那么你会收到此错误:ERROR 1008 (HY000): Can’t drop database ‘tutorial_database’; database doesn’...
  • 1. 登录数据库 命令 说明 mysql –uroot –p -u:用户名 -p:密码 mysql –h121.234.324.324 –P3306 –uroot –p -h:host(主机),-P(大写P):端口 如果想在这台服务器访问别的服务器上的数据库...

    1. 登录数据库

    命令说明
    mysql –uroot –p-u:用户名 -p:密码
    mysql –h121.234.324.324 –P3306 –uroot –p-h:host(主机),-P(大写P):端口

    在这里插入图片描述

    • 如果想在这台服务器访问别的服务器上的数据库,就可以指定IP和对应端口去访问

    • 原则上-p(小写p)后面可以直接跟密码,但不建议这样使用(考虑到数据安全以及带*的密码直接跟在后面会报错)

    2. 退出数据库

    命令:exit
    在这里插入图片描述

    3. 创建数据库

    命令说明
    create database 数据库名称;基本格式
    create database 数据库名 character set ‘编码格式’ collate ‘字符集’;创建数据库时设置编码格式,collate ‘字符集’可省略

    在这里插入图片描述
    在这里插入图片描述

    • 说明

    要识别中文,需要用到utf8编码格式,可以在安装数据库时设置utf8为默认编码格式,设置后在新建数据库时则不需要加后面的字段。

    4. 显示数据库

    格式:show databases;
    在这里插入图片描述

    5. 数据库删除

    格式:drop database 数据库名称;
    在这里插入图片描述

    6. 选中某个数据库

    格式:use 数据库名称;
    在这里插入图片描述

    7. 模糊查询数据库

    命令:show databases like ‘%manba%’;
    在这里插入图片描述

    8. 展示如何创建一个数据库

    在这里插入图片描述

    展开全文
  • 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 数据库。 所以我们这边使用root用户登录,root用户拥有最高权限,可以使用 mysql mysqladmin 命令来创建数据库。 实例 以下命令简单的演示了创建数据库的...
  • MariaDB创建,更改,删除数据库命令

    千次阅读 2017-10-30 17:27:00
    删除现有的MySQL数据库 仅在不存在的情况下创建MySQL数据库 仅当存在MySQL数据库时才会丢失 更改db.opt的数据库特性 升级数据目录选项进行迁移和编码 1.创建新的MySQL数据库 要创建一个MariaDB数据库,...
    1
    2
    3
    4
    5
    6
    7
    创建新的MySQL数据库
    创建具有特定字符集的MySQL数据库(UTF8)
    删除现有的MySQL数据库
    仅在不存在的情况下创建MySQL数据库
    仅当存在MySQL数据库时才会丢失
    更改db.opt的数据库特性
    升级数据目录选项进行迁移和编码

    1.创建新的MySQL数据库

    要创建一个MariaDB数据库,请使用create database命令,如下所示。

    以下将创建一个名为“study”的数据库。

    1
    2
    MariaDB [(none)]> CREATE DATABASE study;
    Query OK, 1 row affected (0.00 sec)

    如果您有Oracle数据库的背景信息,请不要在这里混淆术语“database”。

    当我们在MySQL中创建一个“database”时,我们实际上正在创建一个“schema”。但是在MySQL和MariaDB世界中,它被真正称为“database”而不是“schema”。

    但是由于某些原因,如果您愿意,还可以使用以下“create schema”命令来创建数据库。创建模式只不过是创建数据库的同义词,以下命令与上述create database完全相同。

    1
    MariaDB [(none)]> CREATE SCHEMA study;

    请注意,只有拥有数据库CREATE权限的用户才能执行上述命令。

    在典型的情况下,您将以root身份登录到mysql并执行上述create database命令。

    1
    #mysql -u root -pMySecretPWD

    CREATE DATABASE创建一个具有给定名称的数据库。要使用此语句,您需要数据库的CREATE权限。CREATE SCHEMA是CREATE DATABASE的同义词。如果你是MySQL的新手,这将解释如何在Linux上安装MySQL MariaDB。

    2.创建具有特定字符集(UTF8)的MySQL数据库

    创建新数据库时,创建数据库将使用系统中的任何默认字符集,但是,如果您确切地知道您想要的字符集,则可以在数据库创建过程中指定它们,如下所示。在下面的示例中,我们正在使用“utf8”字符集创建一个名为“boys”的mariadb数据库。这里我们也指定了整理和字符集。

    1
    2
    MariaDB [(none)]> CREATE DATABASE boys CHARACTER SET = utf8 COLLATE = utf8_general_ci;
    Query OK, 1 row affected (0.00 sec)

    如果您想查看系统上的所有可用字符集,请使用以下show character set命令。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    MariaDB [(none)]> SHOW CHARACTER SET;
    +----------+-----------------------------+---------------------+--------+
    | Charset  | Description                 | Default collation   | Maxlen |
    +----------+-----------------------------+---------------------+--------+
    | big5     | Big5 Traditional Chinese    | big5_chinese_ci     |      2 |
    | dec8     | DEC West European           | dec8_swedish_ci     |      1 |
    | cp850    | DOS West European           | cp850_general_ci    |      1 |
    | hp8      | HP West European            | hp8_english_ci      |      1 |
    | koi8r    | KOI8-R Relcom Russian       | koi8r_general_ci    |      1 |
    | latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
    | latin2   | ISO 8859-2 Central European | latin2_general_ci   |      1 |
    ..
    ..
    | utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |

    在创建数据库中指定字符集时,此信息将存储在该特定数据库的db.opt文件中。

    例如,对于“boys”数据库,此db.opt文件将位于/ var / lib / mysql / boys目录下,如下所示。

    1
    2
    3
    # cat /var/lib/mysql/boys/db.opt 
    default-character- set =utf8
    default-collation=utf8_general_ci

    创建数据库后,可以在MySQL数据库中创建表。

    3.删除现有的MySQL数据库

    要从系统中删除现有的mysql数据库,请使用drop database命令,如下所示。

    以下将删除“study”数据库。

    1
    MariaDB [(none)]> DROP DATABASE study;

    请记住:

    这是一个危险的命令,因为这将删除数据库中的所有表以及数据,然后删除数据库本身。要执行此命令,您将需要DROP特权对数据库。另外,类似于创建数据库和创建模式,您还可以使用drop database和drop schema。

    以下两个命令完全相同。

    1
    2
    MariaDB [(none)]> DROP DATABASE study;
    MariaDB [(none)]> DROP SCHEMA study;

    删除数据库后,执行show数据库,以确保不再列出数据库。

    1
    2
    3
    4
    5
    6
    7
    8
    MariaDB [(none)]> SHOW DATABASES;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    +--------------------+

    当您删除数据库时,还将从/ var / lib / mysql文件夹中删除数据库目录以及包含db.opt的所有文件,如下所示。

    1
    2
    # ls -l /var/lib/mysql/study/
    ls : cannot access  /var/lib/mysql/study/ : No such  file  or directory

    要记住的一件事是,如果您已经在数据库目录(即/ var / lib / mysql / study)下手动创建了一些文件,则上述drop database命令将不会删除您的自定义文件或数据库目录本身。但是,它将删除由mysql服务器本身创建的所有其他文件,包括表文件等。在相关的注释中,如果您创建了任何TEMPORARY表,则不会删除它们。但是,当创建的特定会话结束时,它们将被自动删除。


    4.如果不存在,请创建MySQL数据库


    如下所示,默认情况下,创建数据库命令将在您尝试创建已存在的数据库时失败。

    1
    2
    MariaDB [(none)]> CREATE DATABASE study;
    ERROR 1007 (HY000): Can 't create database ' study'; database exists

    如果您只是在命令行上执行此操作,那么可能会很好,因为您可以暗示忽略并继续前进。但是,如果您在脚本中执行此操作,该脚本将从SQL命令检查任何错误消息并存在脚本,那么我们有一个问题。

    在这种情况下,请使用“if not exists”子句以及create database,如下所示。

    1
    2
    MariaDB [(none)]> CREATE DATABASE IF NOT EXISTS study;
    Query OK, 1 row affected, 1 warning (0.00 sec)

    这将仅在数据库不存在时创建数据库。但是,当数据库存在时,它不会抛出任何错误消息。

    5.如果存在,请丢弃MySQL数据库

    1
    2
    DROP DATABASE IF EXISTS study;   // 如果存在,请丢弃MySQL数据库
    DROP SCHEMA IF EXISTS study;     // 如果存在,请丢弃MySQL数据库

    当您尝试删除不存在的数据库时,将收到以下错误消息。

    1
    2
    MariaDB [none]> DROP DATABASE study;
    ERROR 1008 (HY000): Can 't drop database ' study '; database doesn' t exist

    当您从命令行进行交互式操作时,可能会出现这种情况。但是,如果从自动化脚本执行drop命令,并且不会看到错误消息,那么可能会停止脚本,然后使用IF EXISTS子句,如下所示。

    1
    2
    MariaDB [none]> DROP DATABASE IF EXISTS study;
    Query OK, 0 rows affected, 1 warning (0.00 sec)

    与上述命令相同的行为,但不返回任何错误消息。

    6.更改db.opt的数据库特性

    使用alter database命令,可以更改数据库的某些特性。通常,您将使用它来更改在db.opt文件中设置的数据库选项。例如,这里我们将db.opt中的study数据库的字符集定义为LATIN

    1
    2
    3
    4
    # cat /var/lib/mysql/study/db.opt 
    default-character- set =latin1
    default-collation=latin1_swedish_ci
    ..

    现在,要将其更改为UTF8,我们可以使用alter database命令,如下所示。

    1
    2
    MariaDB [(none)]> ALTER DATABASE study CHARACTER SET = utf8 COLLATE = utf8_general_ci;
    Query OK, 1 row affected (0.00 sec)

    任何时候执行ALTER数据库命令,您将看到更新的值反映在db.opt文件中,如下所示。

    # cat /var/lib/mysql/study/db.opt 

    default-character-set=utf8

    default-collation=utf8_general_ci

    要执行alter database命令,您将看到数据库上的ALTER特权。

    就像创建和删除一样,你也可以使用“schema”。以下两个完全一样,ALTER SCHEMA只是alter database的同义词。

    1
    2
    ALTER DATABASE study CHARACTER SET = utf8 COLLATE = utf8_general_ci;
    ALTER SCHEMA study CHARACTER SET = utf8 COLLATE = utf8_general_ci;

    另外,请注意,如果您已经在数据库中,可以在“ALTER”命令中省略数据库名称,如下所示。

    1
    2
    3
    MariaDB [(none)]> USE study;
    MariaDB [study]> ALTER DATABASE CHARACTER SET = utf8 COLLATE = utf8_general_ci;
    Query OK, 1 row affected (0.00 sec)

    正如你在这里看到的,我用了改变数据库。所以,在我的ALTER DATABASE中,我没有指定数据库名称。

    7.升级迁移和编码的数据目录选项

    如果您正在运行MySQL数据库的更改版本(5.1之前),并尝试升级到5.1或更高版本的MySQL / MariaDB版本,则需要执行此操作。具有“升级数据目录名称”选项的以下命令将使用与MySQL 5.1或更高版本相匹配的适当编码实现来更新数据库目录的名称。这将确保数据库名称和数据库目录映射正确,名称中没有任何编码问题。

    再次,只有当您从旧版本的MySQL升级到5.1或更高版本时,才会使用此功能。当您在数据库名称中具有特殊字符时,如下所示,数据库名称中具有连字号(即,-ekek-东东)。

    另外,请注意,“#mysql11#”是应该使用的关键字,后跟数据库名称。

    1
    ALTER DATABASE ` #mysql11#study-boys` UPGRADE DATA DIRECTORY NAME;

    在这个例子中,上面的命令会将数据库名称正确地编码为“@ 002dstudy @ 002dboys”,它将使用@ 002d作为数据库名称中的破折号特殊字符。



    本文转自 喵来个鱼 51CTO博客,原文链接:http://blog.51cto.com/m51cto/1958752,如需转载请自行联系原作者

    展开全文
  • 4、删除当前使用数据库 db.dropDatabase(); 5、从指定主机上克隆数据库 db.cloneDatabase(“127.0.0.1”); 将指定机器上的数据库的数据克隆到当前数据库 6、从指定的机器上复制指定数据库数据到某个数据库 db....
  • 1、语法 MongoDB 创建数据库的语法格式如下: use DATABASE_NAME 如果数据库不存在,则创建数据库,否则切换到指定数据库。 ...如果你想查看所有数据库,可以使用show dbs命令: > show dbs...

    1、语法
    MongoDB 创建数据库的语法格式如下:

    use DATABASE_NAME
    

    如果数据库不存在,则创建数据库,否则切换到指定数据库。

    2、实例
    以下实例我们创建了数据库 runoob:

    > use runoob
    switched to db runoob
    > db
    runoob
    >
    

    如果你想查看所有数据库,可以使用show dbs命令:

    > show dbs
    local  0.078GB
    test   0.078GB
    >
    

    可以看到,我们刚创建的数据库 runoob 并不在数据库的列表中, 要显示它,我们需要向 runoob 数据库插入一些数据。

    > db.runoob.insert({"name":"菜鸟教程"})
    WriteResult({ "nInserted" : 1 })
    > show dbs
    local   0.078GB
    runoob  0.078GB
    test    0.078GB
    >
    

    MongoDB 中默认的数据库为 test,如果你没有创建新的数据库,集合将存放在 test 数据库中。

    3、MongoDB 删除数据库(db.dropDatabase())

    语法
    MongoDB 删除数据库的语法格式如下:

    db.dropDatabase()
    

    删除当前数据库,默认为 test,你可以使用 db 命令查看当前数据库名。
    实例
    以下实例我们删除了数据库 runoob。
    首先,查看所有数据库:

    >show dbs
    local   0.078GB
    runoob  0.078GB
    test    0.078GB
    接下来我们切换到数据库 runoob:
    >use runoob
    switched to db runoob
    >
    

    执行删除命令:

    >db.dropDatabase()
    { "dropped" : "runoob", "ok" : 1 }
    最后,我们再通过 show dbs 命令数据库是否删除成功:
    >show dbs
    local  0.078GB
    test   0.078GB
    >
    

    4、删除集合(db.collection.drop())
    集合删除语法格式如下:

    db.collection.drop()
    

    以下实例删除了 runoob 数据库中的集合 site:

    >use runoob
    switched to db runoob
    >show tables
    site
    >db.site.drop()
    true
    >show tables
    >
    
    展开全文
  • mysqldump命令是MySQL数据库中备份工具,用于将MySQL服务器中的数据库以标准的sql语言的方式导出,并保存到文件中。 语法格式: mysqldump [参数] 常用参数: — -add-drop-table 在每个创建数据库表语句前添加...
  • 数据库常用命令大全

    千次阅读 2020-11-12 15:49:36
    数据库常用命令: DDL语句:操作数据库,表 define定义 DQL语句:查询 query查询 DML语句:增删改 manipulation操作 DCL语句:权限,安全,访问 control控制 1,查看所有数据库 show databases; 2,查看当前使用的数据库...
  • 数据在数据库的存储方式是存储在表中,表中是以行列的方式存储数据的。 创建表时重点关注列的属性(即表头),包括一些约束 1. 数据库中的数据类型 1.1 数值类型 1.2 字符类型 值 ’ ’ ‘ab’ ‘abcd’ ...
  • 主要介绍了SQLServer用t-sql命令批量删除数据库中指定表的方法,大家参考使用
  • 数据库命令大全

    千次阅读 2018-09-13 10:52:49
    连接:mysql -h主机地址 -u用户名 -p用户密码 (注:u与root可以不用...断开:exit (回车) 创建授权:grant select on 数据库.* to 用户名@登录主机 identified by \"... ...删除授权: revoke select,insert,updat...
  • Windows-MySQL数据库命令大全(持续更新)

    千次阅读 多人点赞 2019-05-17 12:02:00
    以MySQL 8.0.16 版本为例 ... 目录 一、ZIP安装 二、启动、停止 三、登录、退出 ...七、新增、编辑、查看、复制、删除数据库表 八、新增、编辑、删除数据 九、查询数据 十、数据统计、排序 十一、多表查...
  • MySQL数据库命令大全

    千次阅读 2019-11-28 08:54:50
    MySQL数据库命令大全 运维常用三种数据库命令类型: 数据库定义语言DDL: Data Defination Lanuage 数据库操作语言DML: Data Manupulate Language 数据库控制语言DCL: Data Control Language 1.数据库定义语言...
  • 还在为无法卸载oracle数据库而烦恼吗,还在为不知道用什么方法卸载oracle数据库而苦恼吗,还在为安装此数据库一次次的重装系统而烦心吗,面对这此烦心事,我方的这个文件可以帮助您解决卸载oracle数据库时遇到的种种...
  • 数据库命令详解——数据的增删改查

    千次阅读 多人点赞 2020-12-05 12:52:46
    命令 含义 insert into 表名 (字段1,字段2,……) values(值1,值2,……); 增加数据 注意 (1) 值1对应字段1,值2对应字段2 (2) 插入的数据应与字段的数据类型相同 (3) 数据的大小应在列的规定范围内,...
  • 达梦数据库操作命令

    千次阅读 2020-08-05 11:59:52
    进入达梦数据库终端,首先去到达梦数据库解压目录,该目录下bin目录下有一个disql工具 cd bin ./disql username: password: 删除模式 备注:删除用户会直接把模式删除,并且模式下的表和数据都删除。 有时候这样...
  • DB2数据库常用命令

    千次阅读 2020-05-12 11:08:47
    查看DB2数据库:db2 list db directory 查看DB2数据库应用:db2 list applications 查看DB2数据库应用与进程号:db2 list applications show detail 杀掉进程: db2 force application (id) 查看DB2数据库配置:...
  • Oracle数据库操作命令

    千次阅读 多人点赞 2020-05-02 21:26:02
        首先,不管是Oracle、mySQL,还是其他数据库,一般都是使用的标准的SQL语言(结构化查询语言)。所以只要掌握了SQL语句,在其他数据库中大都是通用的。     但是,每个数据库都有自己的特性。这就需要...
  • Linux系统下操作mysql数据库命令

    千次阅读 2019-04-24 08:56:52
    RDBMS(Relational Database Management System)关系型数据库管理系统,建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据,简而言之,就是管理数据库的软件。常见的关系型数据库...
  • mysql数据库创建,删除,以及数据库表的创建,删除,修改,查看;给用户设置权限的方法及查看用户权限方法
  • 数据库基本操作命令

    千次阅读 2020-11-01 14:00:37
    项目目录一、对数据库的基本操作命令二、对表的基本操作命令三、 创建临时表四、克隆表五、数据库用户授权 一、对数据库的基本操作命令 查看所有的数据库 mysql> show databases; #查看所有的数据库 切换到指定...
  • MySQL数据库常用命令,第一部分数据库的查询,创建,删除等操作,第二部分数据库数据增删改查以及联合查处,子查询等相关数据操作,第三部分表的创建,修改,重命名,删除等操作。
  • 数据库命令清除整个数据库数据

    万次阅读 2018-11-05 15:10:40
    MySQL 用 truncate 命令快速清空一个数据库中的所有表。 先执行select语句生成所有truncate语句 语句格式: select CONCAT(‘truncate TABLE ‘,table_schema,’.’,TABLE_NAME, ‘;’) from INFORMATION_SCHEMA....
  • MySQL删除数据的方式都有哪些? 咱们常用的三种删除方式:通过 delete、truncate、drop...1、DELETE属于数据库DML操作语言,只删除数据不删除表的结构,会走事务,执行时会触发trigger; 2、在 InnoDB 中,DELETE其实并
  • PostgreSQL 删除数据库

    2020-12-16 16:39:38
    PostgreSQL 删除数据库 PostgreSQL 删除数据库可以用以下三种方式: 1、使用 DROP DATABASE SQL 语句来删除。 2、使用 dropdb 命令删除。 3、使用 pgAdmin 工具。 注意:删除数据库要谨慎操作,一旦删除,所有信息...
  • 易语言教程数据库删除命令

    千次阅读 2020-07-07 09:08:29
    本节课示范的命令有:删除()、是否删除()、彻底删除()、恢复删除()、清除() 删除() 注意:此命令并不实际删除记录,仅仅只加上删除标记,记录依旧存在并可以读写。成功返回真,失败返回假。 数<1&...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 597,064
精华内容 238,825
关键字:

删除数据库的命令是