天天看點

mysql表名長度_JavaWeb之MySQL(一)

1.MySQL資料庫的基本概述

1.1什麼是資料庫資料庫就是一個檔案系統,用來存儲、管理、組織資料的倉庫。MySQL就是一種關系型資料庫。

1.2什麼是關系型資料庫關系型資料庫,是指采用了關系模型來組織資料的資料庫,其以行和列的形式存儲資料,以便于使用者了解,關系型資料庫這一系列的行和列被稱為表,一組表組成了資料庫。使用者通過查詢來檢索資料庫中的資料,而查詢是一個用于限定資料庫中某些區域的執行代碼。關系模型可以簡單了解為二維表格模型,而一個關系型資料庫就是由二維表及其之間的關系組成的一個資料組織。

1.3常見的關系型資料庫MySQLOracleDB2SQL Server

2.MySQL是資料存儲方式概述

2.1什麼是伺服器

我們提到MySQL首先會想到伺服器,那什麼是伺服器呢?從兩個方面來講,從硬體方面來講,伺服器就是一台計算機;從軟體方面來講,伺服器就是裝有伺服器軟體的計算機。比如安裝了MySQL的計算機就是伺服器。

2.2MySQL的儲存方式的描述

mysql表名長度_JavaWeb之MySQL(一)

我們在連接配接MySQL伺服器的時候通常情況下本地通過mysql -uroot -p來連接配接,本地省略了主機,預設情況下認為是localhost 端口預設情況下是3306這個端口。一台資料庫伺服器會建立很多資料庫,通常情況下一個應用對應于一個資料庫。在資料庫的内部會有很多的表,通常情況下一個實體對應于一張表。在表中會有很多條記錄,一個實體的執行個體會建立一條表中的記錄。這裡的實體可以了解為在Java中的一個類,執行個體可以了解為建立的一個類的對象。

3.SQL的概述

3.1什麼是SQLSQL語言,是結構化查詢語言(Structured Query Language)的簡稱。SQL語言是一種資料庫查詢和程式設計語言,用于存取資料以及查詢、更新和管理關系資料庫系統;同時也是資料庫腳本檔案的擴充名。

3.2SQL的分類DDL(資料定義語言)create,alter,drop....

DCL(資料控制語言)grant,if....

DML(資料管理語言)insert,update,delete....

DQL(資料查詢語言)select...

4.SQL使用

4.1使用SQL對資料庫進行操作

4.1.1對資料庫的建立

建立資料庫的文法規則:create database 資料庫名稱 character set 字元集 collation 校對規則例如:create database db1;create database db2 character set gbk;create database db3 character set utf8 collate  utf8_general_ci;
           

4.1.2對資料庫進行查詢

show databases;如果想檢視資料庫建立的語句可以使用下面的語句:show create database db1;檢視資料庫系統支援的字元集:show character set;檢視資料庫系統支援對應字元集的校對規則:show collation like 'utf8%';
           

4.1.3對資料庫進行修改

修改資料庫的文法alter database 資料庫名稱 character set 字元集;例如alter database db2 character set utf8;
           

4.1.4對資料庫進行删除

删除資料庫的文法drop database 資料庫名例如drop database db3;
           

4.1.5其它資料庫操作:

我們想要切換資料庫use 資料庫名稱檢視目前使用的資料庫select database();
           

4.2使用SQL對資料庫表進行操作

4.2.1對資料庫表的建立文法:create table 表名稱(字段名稱 字段類型(長度)限制,字段名稱 字段類型(長度) 限制 ...);字段類型一個實體對應一張表,一個實體的屬性對應表的一個字段。

Java中的類型 MySQL中的類型
byte/short/int/long tingint/smallint/int/bigint
float float
double double
boolean bit
char/String char和varchar
Date date/time/datetime/timestamp
File BLOB/TEXT

注意事項:char和varchar差別:char代表是固定長度的字元或者字元串,如果定義了一個char(8),向這個字段插入一個字元串“hello",那麼資料庫會使用三個空格将其補其。varchar代表可變長度的字元串定義一個varchar(8),向這個字段存入字元串hello,那麼存入資料庫的就是hello。

datetime和timestamp差別:datetime就是既有日期又有時間的日期類型,如果沒有向這個字段中存值,資料庫使用null存入到資料庫中。timestamp也就是既有日期又有時間的日期類型,如果沒有向這個字段中存值,資料庫使用目前的系統時間存入到資料庫中。

限制:限制作用:保證資料的完整性單表限制分類:主鍵限制     primary key 主鍵限制預設就是唯一非空的唯一限制     unique非空限制     not null

create database db1;use db1;create table user(    id int primary key auto_increment,    username varchar(20) unique,    password varchar(20) not null,    age int,    birthdate date);
           

4.2.2對資料庫表的檢視

檢視資料庫中的所有表show tables;檢視資料庫中某個表的結構desc 表名
           

4.2.3對資料庫表的删除

基本文法:drop table 表名
           

4.2.4對資料庫表的修改

修改表:增加列alter table user add 列名 類型(長度) 限制;修改表:修改列的長度,類型,限制alter table user modify 列名 類型(長度) 限制;修改表:删除列alter table drop 列名修改表:修改列名稱alter table 表名 change 舊列名 新列名 類型(長度) 限制;修改表:修改表名rename table 表名 to 新表名;修改表:修改表的字元集alter table 表名 character set 字元集;
           

4.3使用SQL對資料庫表記錄進行操作

4.3.1使用SQL添加表記錄

文法:向表中添加某幾列:insert into 表名(列1,列2,列3...) values(值1,值2,值3);向表中添加所有列:insert into 表名 values(值1,值2,值3...);注意事項:值的類型要和資料庫表中的類型對應值的順序要和資料庫表中列的順序一緻值的最大長度不能超過資料庫表中設定的最大長度值的類型為字元或者日期類型的時候,使用單引号例如:insert into user(id,username,password) values(1,'aaa','ccc');insert into user values(2,'bbb','bbb',23,'1999-09-07');可能會出現的問題:添加中文出現錯誤。檢視支援的字元集:show variables like '%character%';想要插入中文,可以修改MySQL用戶端的字元集改為gbk修改MySQL配置檔案my.ini中用戶端字元集的設定為gbk,重新開機伺服器即可。
           

4.3.2使用SQL修改表中的記錄

文法:update 表名 set 列名=值,列名=值 where 條件;注意事項:值的類型要和資料庫表中的類型對應值的順序要和資料庫表中列的順序一緻值的最大長度不能超過資料庫表中設定的最大長度值的類型為字元或者日期類型的時候,使用單引号

4.3.3使用SQL删除表中記錄

文法:delete from 表 where 條件;如果沒有條件語句删除所有記錄删除表中所有記錄的兩種方法:delete from 表名;truncate table 表名;二者的差別:delete from 表;删除所有記錄,屬于DML語句,一條記錄一條記錄的删除。事務可以作用在DML語句上。truncate table 表名:删除所有記錄,屬于DDL語句,将表删除,然後重建一個一模一樣的表,事務不能作用在DDL語句上。
           

4.4使用SQL檢視表中的記錄

基本查詢:select [distinct] *|列名 from 表 [條件];select * from user;select id,username from user;select id,distinct username from user;select id, math+english as sum from user;條件查詢:使用where子句> >= < <= <> !=like模糊查詢in:範圍查詢條件查詢:and or not排序查詢:使用order by 字段列名 desc/asc;分組統計查詢:聚合函數的使用:sum()擷取總和count()擷取總數max()擷取最大值min()擷取最小值avg()擷取平均數分組查詢:文法使用:group by 字段名稱;where子句後面不能跟着聚合函數,如果現在使用帶有聚合函數的條件過濾,需要使用一個關鍵字having
           

總結SQL語句的順序:select 字段 from ... where 條件 group by 分組 having 條件 order by 排序

5.重置MySQLroot密碼①停止MySQL服務②啟動mysql服務:mysqld --skip-grant-tables不需要權限認證的啟動③重新啟動一個用戶端mysql -uroot -p不需要輸入密碼④修改root密碼update mysql.user set password = password("....") where user = 'root';⑤重新開機mysql

6.mysql伺服器的備份和還原

6.1資料庫的備份

在cmd中輸入mysqldump -u root -p 資料庫名稱 > D:/web_test.sql;

6.2還原資料庫

①在資料庫的内部建立一個資料庫,新打開一個視窗,mysql -u root -p 資料庫名 < D:/db1

②通過source D:/db1.sql;