数据库语言

来源:互联网 发布:网络的利与弊作文800 编辑:程序博客网 时间:2024/05/29 17:39
  1. 数据定义语言:DDL

    CREATE、DROP、ALTER等语句

    创建数据库create database 数据库名;create database 数据库名 character set 字符集;
    查看数据库show databases;//查看数据库中的所有的数据库show create database 数据库名;//查看指定的数据库desc 表名;//查看表结构
    删除数据库drop database 数据库名称;
    修改数据库修改表添加列    alter table 表名 add 列名 类型(长度) 约束;修改表修改列的类型长度及约束    alter table 表名 modify 列名 类型(长度) 约束;注意: 如果有数据,必须注意数据类型 varchar-->int 容易有错误数据修改表修改列名    alter table 表名 change 旧列名 新列名 类型(长度) 约束;修改表删除列    alter table 表名 drop 列名;注意: 如果列中有数据,数据就会一起删除了,需谨慎修改表名    rename table 表名 to 新表名;修改表的字符集    alter table 表名 character set 字符集;
    切换数据库    use 数据库名;查看正在使用的数据库    select database();
    创建表空间create tablespace 表空间名称datafile '文件所在目录\表空间名称.dbf'size 100m (初始大小100兆)autoextend onnext 10m; (自动增长,每次增长10兆)
    在表空间中创建用户create user 用户名identified by 密码default tablespace 表空间名称(给用户分配默认表空间);
    删除表空间drop tablespace 表空间名称;
    删除表空间连带删除数据文件drop tablespace 表空间名称 including contents and datafiles;
  2. 数据操作语言:DML

    INSERT(插入)、UPDATE(修改)、DELETE(删除)语句

    插入数据向表中插入某些列    insert into 表 (列名 1,列名 2,列名 3..) values (值 1,值 2,值 3..);添加数据格式,不考虑主键    insert into 表名(列名:不包含主键) values (值:不包含主键);向表中插入所有列(需要给出主键)    insert intovalues (值 1,值 2,值 3..);批量写入    insert into 表名(列名 1,列名 2,..) values (值 1,值 2,..),(值 1,值 2,..)...;

    注意:
    1.插入的数据应与字段的数据类型相同
    2.数据的大小应该在列的长度范围内
    3.在 values 中列出的数据位置必须与被加入列的排列位置相对应
    4.除了数值类型外,其它的字段类型的值必须使用引号引起
    5.如果要插入空值,可以不写字段,或者插入 null
    6.对于自动增长的列在操作时,直接插入 null 值即可

    更新数据update 表名 set 字段名=值,字段名=值;update 表名 set 字段名=值,字段名=值 where 条件;

    注意:
    1.列名的类型与修改的值要一致
    2.修改值的时候不能超过其最大长度
    3.值如果是字符或者日期需要加 “ ”

    删除数据删除表结构    drop table 表名;逐条删除,不清空 auto_increment 记录数    delete from 表名 [where 条件];直接将表删除,重新建表,auto_increment 将置为零    truncate table 表名;(数据量大时效率高)
  3. 数据控制语言:DCL

    GRANT、REVOKE等语句

    查询当前用户的角色    select * from role_sys_privs;
    权限分类    dba:最高权限    connect:可以连接数据库,做一些简单的增删改    resource:可以创建视图、索引、序列、存储过程等
    给用户分配角色grant dba(权限) to 用户名;
  4. 数据查询语言:DQL

    SELECT语句

    查询数据库查询指定字段    select 字段1,字段2,...from 表名;查询表中所有字段    select * from 表名;去除重复记录    select distinct 字段 from 表名;表别名查询    select * from 表名 as 别名;(as可省略)列别名查询    select 字段名 as 别名 from 表名;(as可省略)直接对列进行运算    select (1+2);
  5. 其他

    按照用户导出数据(cmd窗口)exp system/密码 owner=用户 file=本地路径\文件名.dmp
    按照用户导入数据(cmd窗口)imp system/密码 file=本地路径\文件名.dmp fromuser=用户1 touser=用户2
    按照表导出数据(cmd窗口)exp 用户/密码 file=本地路径\表名.dmp tables=表名
    按照表导入数据(cmd窗口)imp 用户/密码 file=本地路径\表名.dmp tables=表名
    跨用户查询其他用户下的表select * from scott.emp;
    同义词:方便跨用户查询其他用户下的表,数据还在scott用户下create synonym s_emp for scott.emp;select * from s_emp;
    跨用户复制表(select查询创建表)create table emp as select * from scott.emp;select * from emp;
原创粉丝点击