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

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 表名;
上一篇:创建表空间和用户


下一篇:SQL(表和字段操作)