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,另外...