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