DML数据操作语言

  • DML:Data Manipulation Language
  • 作用:用于向数据库表中插入、删除、修改数据
  • 常用关键字:INSERT UPDATE DELETE
  • 基本句型
    INSERT INTO table (col1,col2,col3...) VALUES (data1,data2,data3...);(若是插入一条所有列都涉及的记录,列名col可省略)
  • 特别注意:MySQL,字符串或日期要包含在单引号中。
    空值:NULL


    MySQL常用数据类型

    *MySQL中使用TEXT,DB2和Oracle中使用CLOB。

实践操作

  • 查看表中的所有记录
    SELECT * FROM user;
  • 使用insert语句向表中插入三个员工的信息。
  1. INSERT INTO user VALUES (1,'zxn','female','1995-12-02','2014-09-16','CEO',100000,'beauty');
  2. INSERT INTO user (id,username,gender,birthday,entry_date,job,salary,resume) VALUES (2,'lyx','male','1945-12-02','2014-09-16','EM',100000,'ugly');
  3. INSERT INTO user (id,username,gender,birthday,entry_date,job,salary,resume) VALUES (3,'马小跳','男','1965-12-02','2014-09-16','CTO',100000,'马总');
  • 插入中文数据
    SHOW VARIABLES LIKE 'character%';(查看编码使用情况)
    编码使用情况

    编码值代表的意思

    有时会出现一些编码错误问题或者返回中文乱码,这是因为上表中Value一项的值有冲突。使用可视化工具是没有这个问题的。
  • 告知服务器客户端使用的编码:
    SET character_set_client = gbk;(若无错误无需更改)
  • 告知服务器返回的结果集请使用gbk
    SET character_set_results = gbk;
  • 将所有员工薪水修改为5000元
    UPDATE user SET salary = 5000;
  • 将姓名为'zxn'的员工薪水修改为3000元
    UPDATE user SET salary = 3000 WHERE username = 'zxn';(不要忘记写WHERE)
  • 将姓名为'lyx'的员工薪水修改为4000元,job改为ccc。
    UPDATE user SET salary = 4000,job = 'ccc' WHERE username = 'lyx';(不要忘记写WHERE)
  • 将马小跳的薪水在原有基础上增加1000元。
    UPDATE user SET salary = salary + 1000 WHERE username = '马小跳’;(不要忘记写WHERE)
  • 删除表中名为'zxn'的记录。
    DELETE FROM user WHERE username = 'zxn';(不要忘记写WHERE)
  • 删除所有的记录
    DELETE FROM user;
  • 使用TRUNCATE删除表中记录
    TRUNCATE TABLE user;
  • TRUNCATE 对表进行删除操作,速度快,不会触发trigger,不可rollback数据;隐式commit;没有表空洞,操作后,表的占据空间和初始化时相同大小
  • DELETE对数据进行删除操作,逐条删除,速度慢,会计入删除操作日志中,可触发trigger,回滚数据;需要手动commit才会彻底生效;会有表空洞,占据空间和删除前一样大小

你可能感兴趣的:(DML数据操作语言)