1糯耍;連接數(shù)據(jù)庫 查看數(shù)據(jù)的各種方式
MySQL ?-hlocalhost -uroot -p123456;
show databases; 列出所有數(shù)據(jù)庫
use 數(shù)據(jù)庫名姚炕; 選擇數(shù)據(jù)庫;
show full columns from 表名稱捌显; ? ?// 列出表中的所有列;
show index from 表格名; ?//列出表中索引;
show tables ? ? ? ? ? //列出當前數(shù)據(jù)庫中的所有表名稱;
show table status from 數(shù)據(jù)庫名 ? ? //數(shù)據(jù)庫的統(tǒng)計信息;
2:修改數(shù)據(jù)用戶密碼鳍鸵;
set password=password(‘111111’)//這樣就把密碼修改成了6個1;
3;創(chuàng)建一個數(shù)據(jù)庫和數(shù)據(jù)庫中表
create database 數(shù)據(jù)庫名字[character set utf8[collate 排序規(guī)則字符集]]; ? //創(chuàng)建數(shù)據(jù)庫
use數(shù)據(jù)庫名; ? ? //連接數(shù)據(jù)庫
create table 表格名 ? ? ? ? ? ? ? ? //創(chuàng)建表
(字段1 字段類型(大小)[character set 字符集[collate排序規(guī)則]]),
字段2 字段類型(大小),
........)[default charset=utf8];
===========================
查看數(shù)據(jù)庫字符集
show variables like 'character_set_database'; ? //查看數(shù)據(jù)庫的字符集;
show create database 數(shù)據(jù)庫名; //查看數(shù)據(jù)庫的字符集;
show variables like 'collation_database'; ?//查看數(shù)據(jù)庫排序規(guī)則字符集;
show create table 表名; ? //查看表的編碼;
show full columns from 表名; ?//查看字段編碼;
===================================
修改數(shù)據(jù)庫字符集
alter database 數(shù)據(jù)庫名稱 default character set 字符集[collate 排序規(guī)則字符集] ? ?//修改數(shù)據(jù)庫字符集和排序規(guī)則字符集;
alter table 表格名 convert to character set 字符集[collate 排序規(guī)則字符集]; ?//把表默認的字符集和所有字符集(char.varchar.text)改為新的字符集
alter table 表格名稱 default character set 字符集[collate 排序規(guī)則字符集]; ?//只是修改表的默認字符集和排序規(guī)則字符集
alter table 表格名稱 change 字段名 字段名varchar(255) character set 字符集[collate 排序規(guī)則字符集]; //修改字段的字符集和排序規(guī)則字符集
===========================
刪除
drop database 數(shù)據(jù)庫名; ?//刪除數(shù)據(jù)庫
drop table 表格名稱; ? //刪除數(shù)據(jù)庫中的表格名,
這里要注意的是;用drop 刪除的是整個數(shù)據(jù)庫 或者整個表;如果要刪除表中的指定行或者指定列用delete;
數(shù)據(jù)表的更新和刪除
更新修改給定條件數(shù)據(jù)庫表格中的元素
update 表名 set ?列1=值1,列2=值2,..... where 列=值;
刪除指定值的哪一行數(shù)據(jù)
delete from 表名 where 列=值;
清空表格
truncate table 表格名;
修改表格
alter table 表格名稱 rename 新表格名稱; ? ? //修改表格名稱
alter table 表格名稱 add column 列名稱 類型; //給他表格添加一列;
alter table 表格名稱 drop column name //刪除表格一列
alter table 表名 modify 列名 類型
alter table 表名 change 列名 ?新列名 類型 ; ?//修改表列類型;
alter table 表名 change column 列名 新列名 類型; ?//修改表列名;
?
日期和時間類型
date 日期型
time 時間值
year 年
datetime 混合日期和時間值苇瓣;
timestamp 混合日期和時間值和時間戳
字符串類型
char 定長字符串 ? ? ? ?0~255
varchar 變長字符串;0~65535
tinyblob 不超過255個字符的二進制字符串 ?0~255
tinytext 短文本字符串 0~255 個字節(jié)
blob 二進制形式的長文本數(shù)據(jù) ? 0~65535
text ?長文本數(shù)據(jù) ?0~65535偿乖;
mediumblob 中等長度的二進制形式的文本數(shù)據(jù) ?0~16777215击罪;
mediumtext ?中等長度的文本數(shù)據(jù) 0~16777215 個字節(jié)
longblob 極大文本的二進制數(shù)據(jù) ?0~4294967295
longtext ?極大文本數(shù)據(jù) ? ? 0~4294967295;
創(chuàng)建一個數(shù)據(jù)庫
create database mytata character set utf8贪薪;
創(chuàng)建一個表
create table mytable(
ID tinyint ?not null auto_increment ?default character set utf8媳禁;
primary key(id) ?//把ID設為主鍵
)
auto_increment 自動增長
select 查詢
select 列1,列2.... from 表格名;
select * from 表格名;
where語句
滿足指定標準的記錄
= ?!= ?> ?< ? >= ? <= ?
?between ? ?//在某個范圍內(nèi);
like 搜索某種模式
in ? 指定針對某個列的多個可能值
and ?第一個條件和第二個條件都成立;
or ? ?第一個條件和第二個條件中只要有一個成立
可以把and 和 or 結合起來用括號區(qū)分;
order by 對結果集進行排序
order by 對結果集按照一個列或者多個列進排序;
order by 默認按照升序?qū)τ涗涍M行排序 使用desc關鍵字倒序;
limit 指定記錄數(shù)
select * from 表名 limit 5,10; ? //表示從第六行開始向后查找10條記錄;
select * from 表名 limit 5; ?// 查出來5行
distinct ?返回唯一不同的值
select distinct 列1,列2 from 表名;
where 子句
like 搜索列中的指定模式
select * from 表名 where 列(not) like '(%) 值(%)';? ? ??
通配符
% 匹配所有字符
_匹配一個字符
正則表達式
(not)regexp? not表示不滿足條件的?
規(guī)定多個值
(not) in (value1,value2......);
范圍之內(nèi)
between 值1 and 值2;
null 特殊處理
is (not) null;
join 連接
?表示兩個或者多個表的行結合起來,基于這些表之間的共同字段
inner join 如果表中有至少一個匹配 則返回行
left join 即使右邊表中沒有匹配 也從左表返回所有的行;
right join 即使左邊表沒有匹配,也從右表返回所有的行
using子句??
復制表
創(chuàng)建新表并復制舊表結構
create table newtable like oldtable;
將舊數(shù)據(jù)表中的數(shù)據(jù)復制到新數(shù)據(jù)表中,且結構相同
insert newtable? select * from oldtable;
結構不同
insert newtable (字段1,字段2...) select 字段1,字段2 ... from oldtable