Mysql


数据库

  • 以前通过IO流技术处理,自己对数据进行操作,需要书写大量的代码,并且程序的质量得不到统一。任何使用频繁且有复杂的内容,通常会有人提供一套解决方案。数据库软件就是第三方公司提供的对数据进行增删改查操作的方案,作为程序员只需要会使用数据库软件即可,要操作这个数据库软件,就需要学习专业的语法,这个语法就叫SQL。Structured Query Language:结构化查询语言
  • DBMS:DataBase数据库 Management管理 System系统
  • 常见的数据库软件
  1. MySql:市场占有率排名第一,Oracle公司产品,MariaDB(前身就是MySQL)。
  2. Oracle:市场占有率排名第二,非常好用,所有性能都在线
  3. SQLserver:市场占有率排名第三,微软产品,常用于web服务器,操作系统
  4. DB2:IBM公司产品,应用于IBM公司中的整套方案中
  5. SQLite:轻量级的数据库,主要应用移动设备中
  • 数据库的使用
  1. 连接数据库:mysql -u用户名 -p密码 回车
  2. 退出连接:exit;
  • 与库相关的内容
  1. 查询所有的数据库:格式:show database;
  2. 创建数据库:create database 数据库名;(utf-8:国内的编码 gbk:国际的编码)
  3. 指定字符集格式:create database 数据库名 character set gbk/......;
  4. 删除数据库:格式:drop database 数据库名;
  5. 查看数据库详情:show create database 数据库名;
  6. 使用库:use 数据库名;
  7. 切记操作表和数据时,一定要保证已经使用了数据库
  • 创建表
  1. create table 表名(字段1名  字段1类型,字段2名 字段2类型)
  • 查询所有表:
  1. show tables;
  • 查询表的详细情况
  1. 格式:show create table 表名;
  • 创建表时,指定字符集
  1. 格式:create table 表名(字段1名 字段1类型,字段2名 字段 2类型)charset=utf8/gbk;
  • 删除表
  1. 格式:drop  table 表名;
表字段的操作(alter table)
  • 查询表中所有的字段信息
  1. 格式:desc 表名;
  • 添加表字段(允许指定位置进行字段的添加)
  1. 格式:
  2. 在所有字段开头位置添加新字段 alter table 表名 add 字段名  字段类型 first;
  3. 在所有字段结尾位置添加新字段 alter table 表名 add 字段名  字段类型 ;
  4. 在某个字段后面添加新的字段:alter table 表名 add 字段名  字段类型 after XXX;
  • 删除表字段
  1. 格式:
  2. alter table 表名 drop 字段名;
  • 修改表字段
  1. alter table 表名 change  原名 新名 新类型(类型不变也需要写);
  • 综合训练:
  1. 连接数据库
  2. 创建数据库mydb1字符集指定为utf8,并使用该数据库
  3. 在mydb1库中创建员工表(emp)字段有:姓名 指定字符集为utf8
  4. 查询表是否已经存在
  5. 添加表字段年龄(age)在最后面
  6. 添加id在最前面
  7. 添加薪资字段在name后面
  8. 修改薪资字段为爱好字段
  9. 删除age字段
  10. 查询现有字段信息
  11. 删除emp表
  12. 删除mydb1库
  • 插入表数据:
  1. 全表插入:insert into 表名 values  (值1,值2);
  2. 指定字段插入:insert into 表名(字段名1,字段名2)values(值1,值2);
  3. 全表批量插入:insert into 表名 values  (值1,值2), (值1,值2), (值1,值2);
  4. 指定字段批量插入:insert into 表名(字段名1,字段名2)values(值1,值2),(值1,值2),(值1,值2);
  • 查询表数据:
  1. 格式:select 字段名 from 表名 where 条件;
  2. 查询表所有数据:select *from 表名;
  3. 查询表单行数据:select *from 表名 where XXX=***;
  • 删除表数据:
  1. delete from表名 where 条件;//删除只能删除一整行
  2. 删除整张表:delete from表名;
  • 修改表数据:(update)
  1. 格式:update 表名 set 字段名=xxx,字段名=xxx where 条件;
  2. 修改值为null的字段:update 表名 set 字段名=xxx where 字段名 is 1null;