mysql 常用命令
數(shù)據(jù)庫操作
- 連接數(shù)據(jù)庫
mysql> mysql -h[主機(jī)名] -u [用戶名] -p //如果是本地主機(jī)销凑,主機(jī)名可以不寫
- 退出數(shù)據(jù)庫
mysql> quit
- 查看所有數(shù)據(jù)庫
mysql> show databases; //注意databases 加s丛晌,同時(shí)所有命令結(jié)束都是“;”仅炊,個(gè)別除外
- 選擇使用的數(shù)據(jù)庫
mysql> use [數(shù)據(jù)庫名] //注意這里沒有";"
- 查看所有的表
mysql> show tables;
- 查看表結(jié)構(gòu)
mysql> desc [表名];
- 修改數(shù)據(jù)庫的默認(rèn)字符集
alter database [數(shù)據(jù)庫名] character set utf8;
SQL語句
select 語句
- distinct 從列表中選擇除所有不同的值(相同的排除掉)
select distinct [列名] from [表名];
- where 查詢特定的條件下的數(shù)據(jù)
操作符 | 描述 |
---|---|
= | 等于 |
<> | 不等于 |
between | 在某個(gè)范圍內(nèi) |
like | 搜索某種格式 |
select * from student where age between 10 and 20; //查找 表“student”中所有的age在10到20之間的
- 運(yùn)算符 and 和 or
select * from student where name = 'jet' and age = 10斗幼;
select * from student where name = 'jet' or age = 10;
- insert into 用于向表格插入新的行
insert into [tablename] values (value1,value2...);
insert into [tablename] (colum1,column2...) values(value1,value2...);
- order by 【column_name】 依照某一列進(jìn)行排序 默認(rèn)asc 升序抚垄,降序?yàn)閐esc蜕窿。
select * from [table_name] order by [column_name];
select * from [table_name] order by [column_name] desc;
- update 語句
update [table_name] set ([colum_name1] = value1, [clounm_name2] = value2...) where [colum_name] = value;
update student set age = 22,address = '北京' where name = '李靜';
- delete
delete from [table_name] where [colum_name] = value;
進(jìn)階語句
- limit 限制,用于顯示指定數(shù)目的數(shù)據(jù)
select * from [table_name] limit 5;// 查詢符合條件的5條數(shù)據(jù)
- mysql 查詢一共有多少條數(shù)據(jù)
select count(*) from [table_name];
like 操作符:查找一種類似的模式
- 通配符
符號(hào) | 描述 |
---|---|
% | 表示任意多字符 |
_ | 表示單個(gè)字符 |
[charlist] | 字符列中任意一個(gè)字符 |
[!charlist] | 不在字符列中的任意一個(gè)字符 |
select * from student where name = '王%'; // 查找所有以“王”開頭的數(shù)據(jù)
select * from student where name = '_天_';//查找名字只有三個(gè)字呆馁,且中間那個(gè)字是“天”的所有數(shù)據(jù)
select * from student where address = '[李王趙]_天'; // 查找以李或王或趙開頭的桐经,中間那個(gè)字隨意匹配,最后以“天”結(jié)束的所有數(shù)據(jù)
in 操作符
- 語句
select * from sudent where name in (value1,value2...);
as 語法
select name as 姓名浙滤,age as 年齡 from student;
select into 語句從一個(gè)表中選取數(shù)據(jù)阴挣,然后把數(shù)據(jù)插入另一個(gè)表中,也可以說,用于創(chuàng)建表的備份復(fù)件或者用于對記錄進(jìn)行存檔
SELECT *
INTO new_table_name [IN externaldatabase]
FROM old_tablename //把所有的列插入到新表中
create table 創(chuàng)建表
CREATE TABLE 表名稱
(
列名稱1 數(shù)據(jù)類型,
列名稱2 數(shù)據(jù)類型,
列名稱3 數(shù)據(jù)類型,
....
);
CREATE TABLE student
(
Id_P int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)纺腊;
SQL約束條件:約束用于限制加入表的數(shù)據(jù)的類型畔咧。可以在創(chuàng)建表時(shí)規(guī)定約束(通過 CREATE TABLE 語句)揖膜,或者在表創(chuàng)建之后也可以(通過 ALTER TABLE 語句)誓沸。
- 主要有以下約束
約束條件 | 描述 |
---|---|
NOT NULL | 不可為空 |
UNIQUE | UNIQUE 和 PRIMARY KEY 約束均為列或列集合提供了唯一性的保證。 |
PRIMARY KEY(主鍵) | 約束唯一標(biāo)識(shí)數(shù)據(jù)庫表中的每條記錄壹粟。主鍵必須包含唯一的值拜隧。主鍵列不能包含 NULL 值。每個(gè)表都應(yīng)該有一個(gè)主鍵,并且每個(gè)表只有一個(gè)主鍵洪添。 |
FOREIGN KEY(外鍵) | 指向另一個(gè)表中的 PRIMARY KEY垦页。 |
CHECK | 約束用于限制列中的值的范圍。 |
DEFAULT | 約束用于向列中插入默認(rèn)值薇组。 |