增删改都需要有对应权限;
是DDL---是不可以rollback的---谨慎操作;
1.数据库的创建、修改、删除:
(1).数据库的创建:
- 方式一:CREATE DATABASE ...
- 方式二:CREATE DATABASE ... CHARACTER SET '(选择要使用的字符集)'---指定了要创建的数据库的字符集,最好这样创建;
- 方式三:CREATE DATABASE IF NOT EXISTS ...---如果要创建的数据库已经存在就不创建,如果不存在就创建;
(2).管理数据库:
- 查看当前连接了哪些数据库:SHOW DATABASES
- 切换数据库:USE ...(数据库名)--->查看当前数据库中的表:SHOW TABLES;
- 查看当前使用的数据库:SELECT DATABASE() FROM DUAL;
- 查看指定数据库下保存的(所有)数据表:SHOW TABLES FROM ...
(3).修改数据库:
- 更改字符集:ALTER DATABASE 数据库名 CHARACTER SET'字符集名';
- 数据库名一般不能更改,如果更改一般是删除原数据库,并将原数据库中的数据放到新数据库中;
(4).删除数据库:
- 删除相关结构都是用DROP;
- DROP 结构 结构名;
- DROP 结构 IF EXISTS 结构名---推荐使用;
2.常见数据类型:
- 小数类型用DECIMAL(D,M)更好,更精确,D是小数位,M是整数位+小数位;
3.表的创建、修改、删除:
(1).创建表:
- 方式一:(先切换数据库)---CREATE TABLE (IF NOT EXISTS) 表名(其中的字符段 字符段类型,逗号隔开)--------->如果创建表时没有指明使用的字符集,那么默认使用所在库的字符集;
- 查看表结构:DESC/SHOW
- 方式二:CREATE TABLE 表名 AS ...(SELECT....--->需要原来表中的哪些字符段--此时的别名是作为新表的字符段名,新表按照这些来创建,原表的数据也放进去)---类似创建视图的方法;
- 那如果使用方法二并且不需要原来的数据呢?--->在AS后面的SELECT语句中,给出一个(每个字符段)返回值都是null的条件即可,这个条件一定要确保返回值是null---所以可以用一些一定不成立的条件,如WHERE 1=2;
(2).修改一个字段:
- 添加一个字段:ALTER TABLE 表名 ADD ...---默认添加到最后一个字段,那么如果在ADD ...后面加FIRST,LAST,AFTER 字符段名---则改变了添加的位置。
- 修改一个字段:默认值---MODIFY 字符段名 数据类型 DEFAULT 默认值...、数据类型---一般不改、长度---比较常见--->ADD改为MODIFY即可;
(3).重命名一个字段:
- ALTER ... CHANGE 原字符段名 新字符段名 数据类型;
(4).删除一个字段:
- ALTER...DROP COLUMN 字符段名---删除一个列;
(5).重命名表:
- 方法一:RENAME TABLE 表名 TO 新表名---推荐用这种;
- 方法二:ALTER TABLE 表名 RENAME TO 新表名;
(5).删除表:
- DROP TABLE (IF EXISTS) 表名
(6).清空表---保留表结构,只清空数据:
- TRUNCATE TABLE 表名;