一、数据库概述 1、为什么要用数据库? 程序中的数据是在内存中,一旦程序关了,数据就没了,没法永久保存。 所以我们需要把数据“持久化”。 我们虽然学过io流和File类,可以实现数据的持久化,但是用普通的文件保存的话 数据的格式 检索、管
程序中的数据是在内存中,一旦程序关了,数据就没了,没法永久保存。 所以我们需要把数据“持久化”。
我们虽然学过io流和File类,可以实现数据的持久化,但是用普通的文件保存的话
因此我们要用特殊的文件来存储我们的数据,这个特殊的文件就是数据库。
数据库就是有组织/有结构的方式来存储我们的数据。
结论:
二维(行、列)表格的形式
mysql的DBMS系统中会有很多库DB,
但是一个DB数据库中又会有很多张表格table,
每一个表格中会有很多的列column和行record。
DBMS是一个网络应用程序,它属于tcp/IP协议的网络应用程序,并且它是一个服务器端。
C:ProgramDataMySQL
如何打开注册表编辑器:在系统的搜索框中输入regedit 如果前两步做了,再次安装还是失败,那么可以清理注册表
注意:我们刚才安装的mysql是服务器端的程序。 我们使用时要分为两步:
检查服务是否已启动 任务管理器-->服务-->mysql5.5
客户端的种类有很多,常见的:
mysql -h localhost -P 3306 -u root -p
Enter passWord:密码
说明:
show databases;
show tables;
mysql> show tables;
ERROR 1046 (3D000): No database selected
方式有两种: 方式一:
show tables from 数据库名;
mysql> show tables from test;
Empty set (0.00 sec)
方式二:
use 数据库名;
show tables;
方式一:
select * from mysql.user;
方式二:
use 数据库名;
select * from user;
create table test.stu(
id int,
name varchar(20),
age int
);
insert into test.stu values(1,"张三",23);
mysql> insert into test.stu values(1,"张三",23);
ERROR 1366 (HY000): Incorrect string value: "xD5xC5xC8xFD" for column "name" at row 1
因为客户端是GBK,而服务器端认为我当前的客户端是UTF-8。 可以通过如下的语句,告知服务器当前的客户端是GBK。
set names gbk;
例如:
Java:float,double
mysql:float,double
mysql中的float和double可以指定宽度和精度
double(M,D),例如:double(5,2) 存储范围是-999.99~999.99
double(M,D) unsigned ,例如:double(5,2) unsigned 存储范围:0~999.99
Java:java.sql.Date,java.sql.Time,java.sql.Timestamp
mysql:date,time,timestamp,datetime,year
timestamp,datetime:
Java中分为字符类型char和字符串类型String
Mysql没有字符类型,都是字符串类型
char或char(1)表示存1个字符,如果char(M)存储M个字符
char和varchar的区别:
Structure Query Language,结构化查询语言
show databases;
show DataBASES;
SHOW DATABASES;
例如:
id int
name varchar(20)
did int #所在的部门编号
id int #部门编号
dname varchar(50)
(1)查看当前DBMS中的所有数据库
show databases;
(2)创建一个数据库
create database 数据库名;
(3)删除一个数据库
drop database 数据库名;
(4)使用,指定使用哪个数据库
use 数据库名;
有了这句后,下面的sql都是默认针对这个数据库的操作。
(1)查看某个库的所有表格
show tables; #必须前面有use 数据库名;的语句 否则报no database select的错误
show tables from 数据库名;
(2)创建表格:基本版:
create table 【数据库名.】表名称(
字段名1 数据类型,
字段名2 数据类型,
字段名2 数据类型,
....
);
例如:
create table employee(
id int,
name varchar(20),
age int,
salary double,
gender char,
birthday date
);
(3)查看表结构
desc 表名称;
(4)修改表结构:增加一列
例如:
alter table employee add tel char(11);
alter table employee add tel char(11) after name;
(5)修改表结构:删除一列
例如:
alter table employee drop tel;
(6)修改表结构:修改列的类型,位置等
例如:
alter table employee modify gender char(2) after age;
(7)修改表结构:修改列的名称
例如:
alter table employee change gender sex char(2) after age;
(8)修改表名称
例如:
alter table employee rename to emp;
(9)删除整张表,包括数据和表结构
drop table 表名称;
(1)为表的所有列赋值
例如:
employee:
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| age | int(11) | YES | | NULL | |
| salary | double | YES | | NULL | |
| gender | char(1) | YES | | NULL | |
| birthday | date | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
insert into employee values(1,"张三",23,10000,"男","1990-01-01");
(2)为表的部分列赋值
insert into employee(id,name) values(2,"李四");
(3)可以一次性增加多行
例如:
insert into employee(id,name) values(3,"王五"),(4,"赵六"),(5,"钱七");
例如:
update employee set gender = "男";
update employee set age = 24 where name = "李四";
update employee set salary = salary * 2; #给所有人涨薪
例如:
delete from employee;
delete from employee where name = "赵六";
(1)查看所有的数据
例如:
select * from employee;
(2)查看部分列
例如:
select id,name from employee;
(3)查看部分行
例如:
select * from employee where name ="张三";
#查看张三的薪资
select salary from employee where name ="张三";
例如:
select id as "编号", name as "姓名", salary as "薪资" from employee;
select id "编 号", name 姓名, salary 薪资 from employee;
--结束END--
本文标题: Mysql入门
本文链接: https://www.lsjlt.com/news/5138.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-16
2024-05-16
2024-05-16
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0