SQL基本操作——库操作:对数据库的增删改查

一、新增数据库(创建)

基本语法:create database 数据库名字 [库选项];

库选项用来约束数据库,分为两个选项:1.字符集设定:charset/character set 具体字符集(数据存储的编码格式)                     常用的字符集:GBK和utf8(utf8中间不能加中划线或者下划线)

                  2.校对集设定:collate 具体校对集(数据比较的规则)

创建一个扩展名为sql的文件,比如sql_2018_0503.sql(将其内容复制到Mysql命令窗口中)

-- sql_2018_0503.sql内容:

-- 双中划线+空格:注释(单行注释),也可以使用#号

# 创建数据库
create database mydatabase charset utf8;-- 创建一个名为mydatabase的数据库

其中:数据库名字不能用关键字(已经被使用的字符)或者保留字(将来可能会用到的)

# 创建关键字数据库(出错)
create database database charset utf8;-- 创建一个名为database的数据库

如果非要使用关键字或者保留字,name必须使用两个反引号(esc键下面的键在英文状态下的输出:`)

# 使用反引号
create database `database` charset utf8;

使用中文数据库是可以的,但是有前提条件:保证服务器能够识别(建议不用)

-- 创建中文数据库(直接创建是错误的,无论加不加反引号),本身不需要加反引号
create database 中国 charset utf8;
create database `中国` charset utf8; -- 解决方法:告诉服务器当前中文的字符集是什么(查看方法:命令窗口左上角->属性->选项)
set names gbk;
create database 中国 charset utf8;-- 没有必要加反引号

当创建数据库的SQL语句执行之后,发生了什么?

  1. .在数据库系统中,增加了对应的数据库信息
  2. 会在保存数据的文件夹下:Data目录,创建一个对应数据库名字的文件夹

  3.每个数据库下都有一个opt 文件:保存了数据库选项

注:校对集依赖字符集指的是:字符集改变校对集也会改变

二、查看数据库

1.查看所有数据库:

-- 查看所有数据库
show databases;

2.查看指定部分的数据库:模糊查询

show databases like 'pattern';  --pattern是匹配模式,  %:表示匹配多个字符, _:表示匹配单个字符

-- 举例 创建两个数据库
create database informationtest charset utf8;
create database information_schema charset utf8;
-- 匹配以informationtes开头的数据库
show databases like 'informationtes_';
-- 匹配以information开头的数据库
show databases like 'information%';
-- 匹配以information_开头的数据库:_需要被转义
show databases like 'information\_%'; --如果不转义将匹配到informationtest,information_schema

3.查看数据库的创建语句:show creat database 数据库名字;

-- 查看数据库创建语句
show create database mydatabase;
show create database `database`; --关键字需要使用反引号

三、更新数据库

数据库名字不可以修改。

数据库的修改仅限库选项:字符集和校对集(校对集依赖字符集,字符集改动,校对集会跟随改动)

Alter database 数据库名字 [库选项];

charset/character set [=] 字符集

collate [=] 校对集

-- 修改数据库informationtest的字符集()
alter database informationtest charset GBK; -- 以前是utf8的

四、删除数据库

所有的操作中:删除是最简单的

drop database 数据库名字;

-- 删除数据库
drop database informationtest;

当删除数据库语句执行之后,发生了什么?

1.在数据库内部看不到对应的数据库    利用show databases;查看

2.在对应的数据库存储的文件夹内:数据库对应的文件夹也被删除(级联删除:里面的数据表全部删除)

注意:数据库的删除不是闹着玩的,不要随意删除,应该先进行备份后操作。(删除不可逆,需负法律责任)

最新文章

  1. Hbase学习笔记01
  2. RabbitMQ 集群安装过程详解
  3. 输入/输出系统的四种不同工作方式对CPU利用率比较
  4. git 冲突解决
  5. Java Web dev搭建经验总结
  6. Metasploit渗透测试魔鬼训练营
  7. SQL Server ->> 深入探讨SQL Server 2016新特性之 --- Temporal Table(历史表)
  8. javascript——面向对象程序设计(1)
  9. jquery中checkbox全选失效的解决方法
  10. Mysql 库、表、字段 字符集
  11. jQuery中delegate与on的用法与区别
  12. 关于css的伪类和伪元素
  13. NYOJ--113--字符串替换
  14. 总结MySQL大数据量下如何进行优化
  15. Android的DatePicker和TimePicker-android学习之旅(三十八)
  16. Navicat Premium 最新版本12.1.16-64bit 完美破解,亲测可用!
  17. Java基础之流程控制
  18. 【DOS】文件统计命令
  19. scipy的一些函数名
  20. Windows下的Jdk 1.7*安装并配置(图文详解)

热门文章

  1. 坑暗花明:又遇 .NET Core 中 System.Data.SqlClient 查询缓慢的问题
  2. 如何实现Ant design表单组件封装?
  3. [Xcode 实际操作]八、网络与多线程-(14)使用网址会话对象URLSession将地理坐标转换为地名
  4. word2vec改进之Negative Sampling
  5. 2.Python基础认识(格式化输出,while语句,运算符,编码,单位转化)
  6. (转) Git
  7. Tomcat - ClassFormatException的解决方法
  8. django 之 rest framework
  9. UVA10129:Play on Words(欧拉回路)
  10. 洛谷 P4503 [CTSC2014]企鹅QQ