ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

数据库及数据库表管理常用指令

2021-10-31 12:02:00  阅读:170  来源: 互联网

标签:常用 数据库 ALTER 语法 指令 库名 表名 TABLE 列名


DDL语言

DDL(Data Definition Language),数据定义语言,用于库和表的管理。

创建数据库

#如果要创建的库名已存在,会报错
CREATE DATABASE 库名;
#如果没有这个库就创建,有就不创建,容错率高,建议使用
CREATE DATABASE IF NOT EXISTS 库名;

修改数据库

修改库名

注意:这条语句已经废弃,因为不安全,可能造成数据丢失。如果真的要改关闭DBMS后直接在DBMS的文件夹下找的要修改的库(文件夹),重命名即可。

RENAME DATABASE 库名 TO 新库名;

更改数据库的字符集

ALTER DATABASE 库名 CHARACTER SET 字符集;

删除数据库

#如果没有这个库会报错
DROP DATABASE 库名;
#如果存在才删除,这种写法容错率更高,建议使用。
DROP DATABASE IF EXISTS 库名; 

后面创建表格需要用到数据类型,常见的SQL数据类型如图所示:

SQL数据类型:

在这里插入图片描述

SQL数据类型注意(小细节):

  1. CHAR保存固定长度的字符串(可包含字母、数字以及特殊字符),不指定大小默认为1,VARCHAR和它的区别是VARCHAR是可变长的,且值如果大于255会转换成TEXT类型,必须指定最大字符长度;
  2. 数值类型是可以指定显示长度的,但对于存储空间都是一样的,如INT(3),INT(5),INT(9)都是占用4byte的存储空间.
  3. 对于数值类型如果不设置是无符号还是有符号,默认是有符号,设置无符号关键字是UNSIGNED;
  4. 对于整形,插入数据时如果超出了整形范围会报异常,并且插入临界值;
  5. 对于小数类型,指定(M,D),其中M是小数点前后一共显示的位数,D是小数点后的位数,如果插入的数小数点前的位数<=(M-D),小数点后不足D位就补领,否则四舍五入;如果这个数小数点前的位数>(M-D)报异常,超出范围;
  6. TIMESTAMP支持的范围较小,DATETIME范围较大(上面表格有具体范围);TIMESTAMP和实际时区有关,而DATETIME只能反映处插入时当地时区;

表的创建

 CREATE TABLE 表名(
	列名 类型,
	列名 类型,
	列名 类型,
	....
);

表的修改

核心语法时ALTER TABLE 表名…

  1. 修改表名
    语法格式:
    ALTER TABLE 表名 RENAME TO 新表名;
    
  2. 修改列名
    在对列名进行修改时必须带上类型,也就是还可以修改类型。
    语法格式 :
    #COLUMN可以省略
    ALTER TABLE 表名 CHANGE COLUMN 旧列名 新列名 类型;
    
  3. 修改列的类型
    语法格式:
    ALTER TABLE 表名 MODIFY COLUMN 列名 新类型;
    
  4. 添加新列
    语法格式:
    ALTER TABLE 表名 ADD COLUMN 列名 类型;
    
  5. 删除列
    语法格式:
    ALTER TABLE 表名 DROP COLUMN 列名;
    

还有对列的约束的修改放在约束的知识点讲解。

表的复制

  1. 只复制表的结构
    语法格式:
    CREATE TABLE 表名 LIKE 表名【已存在的表】
    
  2. 复制表结构加数据
    语法格式:
    CREATE TABLE 表名
    SELECT语句;
    
  3. 只复制部分结构及数据
    CREATE TABLE 表名
    SELECT语句【查询列表是要复制的列,不要数据就让筛选条件恒不成立,如1=2】;
    

表的删除

语法格式:

DROP TABLE 表名;
#还是建议下面这种写法
DROP TABLE IF EXUSTS 表名;

标签:常用,数据库,ALTER,语法,指令,库名,表名,TABLE,列名
来源: https://blog.csdn.net/weixin_53285159/article/details/121061923

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有