MySQL 查询数据 day02:MySQL基础(超系统的JavaWEB全套教程)
1.数据库的基本概念
2.MySQL数据库软件
(1)安装
(2)卸载
(3)配置
3.SQL
数据库的基本概念
1.数据库的英文单词:
DataBase 简称 : DB
2.什么数据库?
用于存储和管理数据的仓库
3
今日内容 1.数据库的基本概念 2.MySQL数据库软件 (1)安装 (2)卸载 (3)配置 3.SQL 数据库的基本概念 1.数据库的英文单词: DataBase 简称 : DB 2.什么数据库? 用于存储和管理数据的仓库 3.数据库的特点: (1)持久化存储数据的。其实数据库就是一个文件系统 (2)方便存储和管理数据 (3)使用了统一的方式操作数据库 -- SQL 4.常见的数据库软件 参见MySQL文档 MySQL数据库软件 1.安装 参见MySQL文档 2.卸载 (1)去mysql的安装目录找到my.ini文件 复制 datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/" (2)卸载MySQL (3)删除C:/ProgramData目录下的MySQL文件夹。 3.配置 (1)MySQL服务启动 A:手动 B:cmd--> services.msc 打开服务的窗口 C:使用管理员打开cmd a:net start mysql 启动mysql的服务 b:net stop mysql 关闭mysql服务 (2)MySQL登录 A:mysql -uroot -p密码 B:mysql -hip -uroot -p连接目标的密码 C:mysql --host=ip --user=root --password=连接目标的密码 (3)MySQL退出 A:exit B:quit (4)MySQL目录结构 A:MySQL安装目录:basedir="D:/develop/MySQL/" 配置文件 my.ini B:MySQL数据目录:datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/" a:几个概念 数据库:文件夹 表:文件 数据:数据 SQL 1.什么是SQL? Structured Query Language:结构化查询语言 其实就是定义了操作所有关系型数据库的规则。每一种数据库操作的方式存在不一样的地方,称为“方言”。 2.SQL通用语法 (1)SQL 语句可以单行或多行书写,以分号结尾。 (2)可使用空格和缩进来增强语句的可读性。 (3)MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写。 (4)3种注释 A:单行注释: -- 注释内容 或 # 注释内容(mysql 特有) B:多行注释: /* 注释 */ 3.SQL分类 (1)DDL(Data Definition Language)数据定义语言 用来定义数据库对象:数据库,表,列等。关键字:create, drop,alter 等 (2)DML(Data Manipulation Language)数据操作语言 用来对数据库中表的数据进行增删改。关键字:insert, delete, update 等 (3)DQL(Data Query Language)数据查询语言 用来查询数据库中表的记录(数据)。关键字:select, where 等 (4)DCL(Data Control Language)数据控制语言(了解) 用来定义数据库的访问权限和安全级别,及创建用户。关键字:GRANTMySQL 查询数据, REVOKE等 DDL:操作数据库、表 1.操作数据库:CRUD (1)C(Create):创建 A:创建数据库: create database 数据库名称; B:创建数据库,判断不存在,再创建: create database if not exists 数据库名称; C:创建数据库,并指定字符集 create database 数据库名称 character set 字符集名; D:练习: 创建db4数据库,判断是否存在,并制定字符集为gbk create database if not exists db4 character set gbk; (2)R(Retrieve):查询 A:查询所有数据库的名称: show databases; B:查询某个数据库的字符集:查询某个数据库的创建语句 show create database 数据库名称; (3)U(Update):修改 A:修改数据库的字符集 alter database 数据库名称 character set 字符集名称; (4)D(Delete):删除 A:删除数据库 drop database 数据库名称; B:判断数据库存在,存在再删除 drop database if exists 数据库名称; (5)使用数据库 A:查询当前正在使用的数据库名称 select database(); B:使用数据库 use 数据库名称; 操作表 1:C(Create):创建 (1)语法: create table 表名( 列名1 数据类型1, 列名2 数据类型2, .... 列名n 数据类型n ); A:注意:最后一列,不需要加逗号(,) B:数据库类型: a:int:整数类型 age int, b:double:小数类型 score double(5,2) c:date:日期,只包含年月日,yyyy-MM-dd datetime:日期,包含年月日时分秒 yyyy-MM-dd HH:mm:ss d:timestamp:时间错类型包含年月日时分秒 yyyy-MM-dd HH:mm:ss 如果将来不给这个字段赋值,或赋值为null,则默认使用当前的系统时间,来自动赋值 e:varchar:字符串 name varchar(20):姓名最大20个字符 zhangsan 8个字符 张三 2个字符 C:创建表 create table student( id int, name varchar(32), age int , score double(4,1), birthday date, insert_time timestamp ); D:复制表: create table 表名 like 被复制的表名; (2)R(Retrieve):查询 A:查询某个数据库中所有的表名称 show tables; B:查询表结构 desc 表名; (3)U(Update):修改 A:修改表名 alter table 表名 rename to 新的表名; B:修改表的字符集 alter table 表名 character set 字符集名称; C:添加一列 alter table 表名 add 列名 数据类型; D:修改列名称 类型 alter table 表名 change 列名 新列别 新数据类型; alter table 表名 modify 列名 新数据类型; E:删除列 alter table 表名 drop 列名; (4)D(Delete):删除 A:drop table 表名; B:drop table if exists 表名 ; 客户端图形化工具:SQLYog DML:增删改表中数据 1.添加数据: (1)语法: insert into 表名(列名1,列名2,...列名n) values(值1,值2,...值n); (2)注意: A:列名和值要一一对应。 B:如果表名后,不定义列名,则默认给所有列添加值 insert into 表名 values(值1,值2,...值n); C:除了数字类型,其他类型需要使用引号(单双都可以)引起来 2.删除数据: (1)语法: delete from 表名 [where 条件] (2)注意: A:如果不加条件,则删除表中所有记录。 B:如果要删除所有记录 a:delete from 表名; -- 不推荐使用。有多少条记录就会执行多少次删除操作 b:TRUNCATE TABLE 表名; -- 推荐使用,效率更高 先删除表,然后再创建一张一样的表。 3.修改数据: (1)语法: update 表名 set 列名1 = 值1, 列名2 = 值2,... [where 条件]; (2)注意: 如果不加任何条件,则会将表中所有记录全部修改。 DQL:查询表中的记录 select * from 表名; 1:语法: select 字段列表 from 表名列表 where 条件列表 group by 分组字段 having 分组之后的条件 order by 排序 limit 分页限定 2. 基础查询 (1)多个字段的查询 select 字段名1,字段名2... from 表名; 注意:如果查询所有字段,则可以使用*来替代字段列表。 (2)去除重复: distinct (3)计算列 A:一般可以使用四则运算计算一些列的值。(一般只会进行数值型的计算) B:ifnull(表达式1,表达式2):null参与的运算,计算结果都为null a:表达式1:哪个字段需要判断是否为null b:如果该字段为null后的替换值。 (4)起别名: as:as也可以省略 3.条件查询 (1)where子句后跟条件 (2)运算符 A:> 、< 、= 、= 、 B:BETWEEN...AND C:IN( 集合) D:LIKE:模糊查询 占位符: _:单个任意字符 %:多个任意字符 E:IS NULL F:and 或 && G:or 或 || H:not 或 ! (3)案例 -- 查询年龄大于20岁 SELECT * FROM student WHERE age > 20; SELECT * FROM student WHERE age >= 20; -- 查询年龄等于20岁 SELECT * FROM student WHERE age = 20; -- 查询年龄不等于20岁 SELECT * FROM student WHERE age != 20; SELECT * FROM student WHERE age 20; -- 查询年龄大于等于20 小于等于30 SELECT * FROM student WHERE age >= 20 && age = 20 AND age (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |