初入javaEE 之學習篇資料庫MYSQL一

2021-09-02 17:56:49 字數 3283 閱讀 8076

1.建立使用者表:

create table if not exists `user_info`(

`userid` int unsigned auto_increment,

`loginname` varchar(20) not null,

`phone` varchar(11) not null,

`name` varchar(40) not null,

`pronvince` varchar(40) not null,

`address` varchar(40) not null,

`***` integer,

`registerdata` date,

primary key ( `userid` )

)engine=innodb default charset=utf8;

2.查詢表

select * from user_info;

select * from user_info where userid=1;

3.插入表資料

insert into user_info (`loginname`,`phone`,`name`,`pronvince`,`city`,`address`,`***`,`registerdata`) 

values('123456','1762******x1','張三','廣東','廣州','***',1,'2018-12-06');

insert `users` ( `login_name`, `phone`, `name`, `province`, `city`, `address`, `***`, `register_date` )

select '美', '181******xx', 'author', '廣東', 'xx', '***', 1, '2018-12-06 07:54:56' ;

insert into user_info values(1,'123456','1762******xx','cping','廣東','廣州','***',1,'2018-12-06');

4.更新表資料

update table_name

set column1=value1,column2=value2,...

where some_column=some_value;

5.刪除表資料

delete from user_info where userid=2;
6.排序表資料

select column_name,column_name

from table_name

order by column_name,column_name asc|desc;

從小到大( asc) | 從大到小(|desc)

7.sql and & or top運算子

select * from table_name where column_name operator value and column_name operator value;

select * from table_name where column_name operator value or column_name operator value;

查詢:

sqlserver/s語法:

--  50%的資料

select top 50 percent * from table_name;

-- 前100的資料

select top 100 column_name * from table_name;

mysql語法:

select *from table_name limit 100;
8.修改表的字段

alter table user_info change pronvince province varchar(20);

其它修改表的型別:

(1)修改表的名稱呢

alter table 表名 rename to 新的名字;

demo:

alter table ta1 rename to ta0;

(2)新增乙個新字段

alter table 表名 add 新字段 欄位的型別;

demo:

alter table ta0 add unames varchar(20);

(3)修改字段:

alter table 表名 change 舊得字段 新的字段 欄位的資料型別;

alter table ta0 change unames uname varchar(20);

(4)修改欄位的型別:

alter table 表名 modify 字段 欄位的新型別

demo:

alter table ta0 modify uname int;

(5)修改表的字段編碼:

alter table `table_name` convert to  character set utf8mb4 collate utf8mb4_general_ci
9、時間比較

-- 相差週數

select timestampdiff(week,'2021-01-2','2021-02-04');

-- 相差天數

select datediff(now(),'2021-02-05');

-- 相差天數

select timestampdiff(day,'2021-01-30','2021-02-04');

-- 相差小時

select timestampdiff(hour,'2021-02-07 14:47:23',now());

-- 相差分鐘

select timestampdiff(minute,'2021-02-07 14:47:23',now());

-- 相差秒數

select timestampdiff(second,'2021-02-07 14:47:23',now());

初入資料庫分庫分表

參考 1,分區分表分庫 2,切分方案 3,分表的實現 集群 1,分割槽 分表 分庫 分區分表 分庫直接含義 將一張表的資料分成n多塊區域 將一張表分為n多小表 將儲存在乙個庫的資料分塊儲存在多個庫上 實現方式 每張完整的表包含.myd資料檔案 myi索引檔案 frm表結構檔案 user p p1.m...

初嚐資料庫優化

在前兩天的 期學術交流會上,曹建新學長提到了 對資料的查詢盡量少用 需要用哪個欄位就用相應字段。對此自己產生了點小興趣,便折騰了一下。1.建乙個資料庫testdb create database testdb 2.建一張測試表t test use testdb create table t test...

初 資料庫設計優化

正規化,是關係型資料庫關係模式規範化的標準。第一正規化 1nf 強調的是列的原子性,即列不能夠再分成其他幾列。第二正規化 2nf 首先是 1nf,另外包含兩部分內容,一是表必須有乙個主鍵 二是沒有包含在主鍵中的列必須完全依賴於主鍵,而不能只依賴於主鍵的一部分。第三正規化 3nf 首先是 2nf,另外...