栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

mysql数据库基础(一)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

mysql数据库基础(一)

  

一.数据库简介 1.简而言之就是存储数据的仓库; 2.之前在Java中怎么存储数据?     1)定义变量,类似局部变量,随方法调用而结束;     2)容器存储:         数组--->查询快,增删慢;         集合--->单列集合Colleation/双列集合Map                     长度可变,         字符串缓冲区:StringBuffer/StringBuider                     最终可能需要将字符串缓冲区类型---String     3)IO流         Input         Output         可以将内容存储在磁盘上,文件中(读写复制---很耗时) 3.数据库来存储数据     优点:1> 执行下率高             2>底层有树结构在里面             3>数据库支持"事务"来解决业务存在问题"转账操作"!             4>即使关机了,数据永久保存; 二.数据库的分类 1.关系型数据库:     书写sql语句(Strcture Query Language:结构化查询语言)     oracle:大型企业应用居多(收费);     mysql:中小型企业应用居多(不收费)                 sqkserver:跟.net平台蒋荣兴比较好一些                 sqllite:轻量级的关系数据库,嵌入式中使用较多;                 mariaDB:跟mysql同级别的; 2.非关系型数据库NoSQL数据库     键值(Key-Value)存储数据库:redis 做数据缓存, 分布式系统架构 使用redis 分布式缓存     文档类型数据库:MongoDb 三.mysal的基本语法 1.安装完MySQL之后  1)登录:方式一:在dos命令框登录mysql             ①输入 mysql -uroot -p             ②输入mysql密码          方式二:在mysql子代的客户端登录             直接输入muysql密码登录 四.数据库的DDL语句(数据库的定义语句)之库的操作 1.注释 --:普通注释当行注释 #特殊注释 2.查询库 查询当前mysql中自带的所库有哪些 mysql>show databases; mysql> show databases; +--------------------+ | Database           | +--------------------+ | information_schema | | mysql              | | performance_schema | | sakila             | | sys                | | world              | +--------------------+ 6 rows in set (0.00 sec) 3.创建库 1)方式一:create database 库名; mysql> create database 小小; Query OK, 1 row affected (0.00 sec) 2)方式二:create database if not exists 库名; mysql> create database if not exists xiaoxiao; Query OK, 1 row affected (0.00 sec) 4.查看建库的字符集 show create databases 库名  mysql> show create database 小小; +----------+---------------------------------------------------------------+ | Database | Create Database                                               | +----------+---------------------------------------------------------------+ | 小小     | CREATE DATABASE `小小` | +----------+---------------------------------------------------------------+ 1 row in set (0.00 sec) 5.修改字符集 alter database 库名 default character set 想要的字符集; 修改"小小"的字符集 mysql> alter database 小小 default character set gbk; Query OK, 1 row affected (0.00 sec) 修改后的"小小"字符集 mysql> show create database 小小; +----------+--------------------------------------------------------------+ | Database | Create Database                                              | +----------+--------------------------------------------------------------+ | 小小     | CREATE DATABASE `小小` | +----------+--------------------------------------------------------------+ 1 row in set (0.00 sec) 6.删除库 1)方式一:drop database 库名(暴力删除) mysql> drop database 小小; Query OK, 0 rows affected (0.01 sec) mysql> show databases; +--------------------+ | Database           | +--------------------+ | information_schema | | mysql              | | performance_schema | | sakila             | | sys                | | world              | | xiaoxiao           | +--------------------+ 7 rows in set (0.00 sec) 2)方式二: drop databases if exists 库名;(如果存在,删除) mysql> drop database if exists xiaoxiao; Query OK, 0 rows affected (0.00 sec) mysql> show databases; +--------------------+ | Database           | +--------------------+ | information_schema | | mysql              | | performance_schema | | sakila             | | sys                | | world              | +--------------------+ 6 rows in set (0.00 sec) 五.数据库的DDL语句(数据库的定义语句)之表的操作 1.mysql常见的数据类型;     1)int:整数类型 默认最大长度11位字符,给int类型的数据的时候,当前存储的是值的真实长度;         举例:             年龄自贡段 age int类型;     2)int(字符数):整数类型 给int(3)这个值的时候,实际存储三位,但是赋值不够三位(使用很少);             id字段 1-------int(3)-------001     3)varchar(最大支持255个长度):字符串类型              指定varchar长度             格式:varchar(指定长度)     4) date:仅仅是日期类型     5) datetime:日期+时间类型;     6)timestap:时间戳(举例:管理员添加一个商品,商品上架的时间:时间戳--表示当前系统的瞬时时间);     7)double:小数类型       double{几位数,小数点后保留几位数}         举例:             double{4,2}表示4位数,小数点后面保留两位     8)cold:大字符类型         支持"大文本";     9)bold:大字节类型         最大支持4G      2.建表之前需要使用哪个库 1)前提:建立需要使用的库 方式一: mysql> create database if not exists first; Query OK, 1 row affected (0.00 sec) 方式二: mysal>create database first; Query OK, 1 row affected (0.00 sec) 2)使用库: use 库名; mysql> use first; Database changed 注意:如果不创建库的话所有的表都会跑进mysql库中; 3.创建表 create table表名(         字段名称1 字段类型1,         字段名称2 字段类型2,         字段名称3 字段类型3,         ....         字段名称n 字段类型n     ); mysql> use first; Database changed mysql> create table Student(     -> name varchar(5),     -> age int,     -> sex varchar(2),     -> school varchar(20),     -> 籍贯 varchar(20)     -> ); Query OK, 0 rows affected (0.02 sec) 注意:1)每个字符段类型后+","最后一个不用;         2)表内对象应放在一对"()"内; 4.查询当前库中有哪些表 show tables; mysql> show tables; +-----------------+ | Tables_in_first | +-----------------+ | student         | +-----------------+ 1 row in set (0.00 sec) 5.查看表的结构 desc 表名; mysql> desc Student; +--------+-------------+------+-----+---------+-------+ | Field  | Type        | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | name   | varchar(5)  | YES  |     | NULL    |       | | age      | int(11)        | YES  |     | NULL    |       | | sex       | varchar(2)  | YES  |     | NULL    |       | | school | varchar(20) | YES  |     | NULL    |       | | 籍贯     | varchar(20) | YES  |     | NULL    |       | +--------+-------------+------+-----+---------+-------+ 5 rows in set (0.01 sec) 6.修改表的字段名称(change) alter table 表名 change 旧字段名称 新字段名称 旧的数据类型; 改变name这段名称; mysql> alter table Student change name 姓名 varchar(5); Query OK, 0 rows affected (0.01 sec) Records: 0  Duplicates: 0  Warnings: 0 改变name为姓名的显示 mysql> desc Student; +--------+-------------+------+-----+---------+-------+ | Field  | Type        | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | 姓名   | varchar(5)  | YES  |     | NULL    |       | | age    | int(11)     | YES  |     | NULL    |       | | sex    | varchar(2)  | YES  |     | NULL    |       | | school | varchar(20) | YES  |     | NULL    |       | | 籍贯   | varchar(20) | YES  |     | NULL    |       | +--------+-------------+------+-----+---------+-------+ 5 rows in set (0.00 sec) 注意:不能将字符段类型用修改字符段名称一并改变,运用到后期可能会出现不同程度上的问题. 7.修改表的字段类型(modify) alter table 表名 modify 字段名称 新的字段类型; 改变籍贯的字段类型为varchar(50); mysql> alter table Student modify 籍贯 varchar(50); Query OK, 0 rows affected (0.01 sec) Records: 0  Duplicates: 0  Warnings: 0 改变籍贯字符端类型的表的结构 mysql> desc Student; +--------+-------------+------+-----+---------+-------+ | Field  | Type        | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | 姓名   | varchar(5)  | YES  |     | NULL    |       | | age    | int(11)     | YES  |     | NULL    |       | | sex    | varchar(2)  | YES  |     | NULL    |       | | school | varchar(20) | YES  |     | NULL    |       | | 籍贯   | varchar(50) | YES  |     | NULL    |       | +--------+-------------+------+-----+---------+-------+ 5 rows in set (0.00 sec) 8.给表中增加新的字段 alter table 表名 add 字段名称 字段类型; 向表中增加"出生日期"字符段,字符段类型为"datetime" mysql> alter table Student add 出生日期 datetime; Query OK, 0 rows affected (0.02 sec) Records: 0  Duplicates: 0  Warnings: 0 增加"出生日期"后标的表的结构; mysql> desc Student; +----------+-------------+------+-----+---------+-------+ | Field    | Type        | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+-------+ | 姓名     | varchar(5)  | YES  |     | NULL    |       | | age      | int(11)     | YES  |     | NULL    |       | | sex      | varchar(2)  | YES  |     | NULL    |       | | school   | varchar(20) | YES  |     | NULL    |       | | 籍贯     | varchar(50) | YES  |     | NULL    |       | | 出生日期 | datetime    | YES  |     | NULL    |       | +----------+-------------+------+-----+---------+-------+ 6 rows in set (0.01 sec) (重复字段名称不能增加); 9.复制一张表 create table 新表名 like 旧表名;  将表Student复制给表Testher mysql> create table Tescher like Student; Query OK, 0 rows affected (0.01 sec) 复制后表Testher的结构 mysql> desc Tescher; +----------+-------------+------+-----+---------+-------+ | Field    | Type        | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+-------+ | 姓名     | varchar(5)  | YES  |     | NULL    |       | | age      | int(11)     | YES  |     | NULL    |       | | sex      | varchar(2)  | YES  |     | NULL    |       | | school   | varchar(20) | YES  |     | NULL    |       | | 籍贯     | varchar(50) | YES  |     | NULL    |       | | 出生日期 | datetime    | YES  |     | NULL    |       | +----------+-------------+------+-----+---------+-------+ 6 rows in set (0.00 sec) 10.删除表 方式一:drop table 表名; 删除表Student mysql> drop table Student; Query OK, 0 rows affected (0.01 sec) 删除之后显示不出表"Student"的结构 mysql> desc Student; ERROR 1146 (42S02): Table 'first.student' doesn't exist 通过show 显示所有表,发现并没有Student表,证明其已经删除; mysql> show tables; +-----------------+ | Tables_in_first | +-----------------+ | tescher         | +-----------------+ 1 row in set (0.00 sec) 方式二:drop table if exists 表名; 删除Testher表, mysql> drop table if existsTescher; Query OK, 0 rows affected (0.01 sec) 删除只有库里面没有表格固有下面的显示 mysql> show tables; Empty set (0.00 sec) 11.删除表中的某列数据 alter table 表名 drop 想要删除字符段名称;

六.总结 1.show  英语翻译是显示,表现的意思,在mysql中表示  1)查询库或表; 格式 show databases(库)/tables(表); 2)查看库的字符集 格式show create database 库名; 2.create  英语翻译是创造,创建的意思,在mysql中表示 1)创建库或表的意思 格式 create database 库名;         create table 表名(          字段名称1 字段类型1,         字段名称2 字段类型2,         字段名称3 字段类型3,         ....         字段名称n 字段类型n         ); 2)复制一张表 create 新表名 like 旧表名; 3.exists 英语翻译中表示存在的意思,在mysql用于判断此表或此库是否存在; 应用 1)创建库 格式:create database if not exists 库名; 2)删除库或表 drop database if exists 库名; drop tableif exists 表名 ; 4.drop 英语翻译中表示放弃,放下的意思,在mysql中用于删除库或表; 格式:         drop database 库名;         drop table 表名; 5.alter 英语翻译表示改变,更改的意思,在mysql中用于改变库或表;  应用 1)修改库的字符集 alter database 库名 default character set 想要的字符集;    2)修改表的字符段名称 alter table 表名 change 旧字符段名称 新字符段名称 旧字符段数据类型; 3)修改标的字符段类型 alter table 表名 modify 字符段名称 新字符段类型; 4)给表增加新的字段 alter table 表名 add 字符段名称 字符段类型 5)删除表中的某一列 alter table 表名 drop 字符段名称; 6.desc 表名,查看表的结构

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/880229.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号