如何連接數據庫:
- command line client:
輸入初始password
然后就可以進行連接
- workbanch:
cmd路徑下進行連接(bin)
連接數據庫的語句
- 連接數據庫:(在cmd中)
mysql-uroot-p(密碼)
- 不顯示密碼:mysql-uroot-p
- 退出數據庫:exit运翼;quit
- 查看數據庫的類型:select version()
- 顯示當前時間:select now()
- 查看當前使用的數據庫:select database()
- 查看所有數據庫:show databases()
- ==創(chuàng)建數據庫==
```
:create database test_02
```
charset=utf8;
- 查看創(chuàng)建數據庫的語句:show create database
- ==使用創(chuàng)建的數據庫:==
```
use database XXX
```
- 展示數據庫:
```
show database
```
- 刪除數據庫:
```
drop database+數據庫名
?數據表的操作
navicat注冊機可以使用
右鍵創(chuàng)建new database颤难,charset=utf8
- 查看當前數據庫中的數據表:
show tables
- ==創(chuàng)建表:create table== 數據表名字(字段发魄,類型吻氧,約束)
- int unsinged auto_increasment not? null primary key default
- 創(chuàng)建classes表(id乳蓄,name):
```
create table classes(id int unsigned primary key not null auto_increment,name varchar(20) not null);
```
- 創(chuàng)建student表:
```
create table students(id int unsigned primary key not null auto_increment ,
name varchar(20) not null,
age int unsigned,
high decimal(5,2),
gender enum('男'仆潮,'女'签则,'中性'阵具,'保密')default '保密'拢驾,
cls_id int unsigned);
```
- 查看創(chuàng)建的表:show create table students
- ==查看表的結構:desc students奖磁;==
?- 修改表:alter
==修改表都是用alter==
```
alter table students add pet varchar(20) default 'dog';
```
修改表的字段,最后要加類型及約束(不重名名版)約束寫不寫都行
```
alter table students modify pet varchar(20) default 'cat';
```
修改表字段繁疤,重命名版本
```
alter table students change pet chongwu varchar(20);
```
刪除列
```
alter table students drop pet
```
==刪除表和數據庫:==
```
drop database XXX;
drop table students
``
對數據的操作-增刪改查
增加:==全列插入==
```
insert into classes values(1,"zhangsan");
```
向學生表插入一個信息
```
insert into students values(1,'list',18,178,'男'咖为,'001')
```
==學生表信息,auto_increment:默認自增稠腊,主鍵部分添加 0躁染, null, default==
- ==枚舉類型:enum('男'架忌,'女'吞彤,'中性','保密')==
```
insert into students values(null,'zhaoqi',19,168,2,'002')
```
==zhaoqi的性別就是女,因為枚舉類型中女是第二位叹放。==
部分插入
```
insert into students (name) value('老李')
```
多行插入:
```
insert into students values(0,'老劉'饰恕,45,178井仰,1埋嵌,'003'),(0,'老張',30俱恶,168雹嗦,2范舀,'002')
```
**修改 update set**
```
update students set gender='中性'
```
按照條件修改
```
update students set gender='女' where
id=2;
```
修改多個值(好多個cls_id為3的)
```
update students set gender='女' where cls_id=003;
```
**查詢:select**(略)
**刪除 delete from**
```
delete * from students where cls_id=1;
```
以上為物理刪除
- ==邏輯刪除:用一個字段表示這條信息是否已經不能再使用了了罪。==
- 給students表添加一個is_delete字段bit類型
```
alter table students add is_delete bit default 0;
```
==group_concat==
```
select gender,group_concat(name) as names from students group by gender.
```
==查詢出同種性別中的姓名锭环。==
==with rollup 匯總的作用==
```
select gender, count(1) from students group by gender with rollup;
```
最終除了各個性別的數量,還有多了一行總數泊藕。
?Mysql 查詢2
- 分頁查詢:limit
```
select * from students limit 0,4;
```
選取id從1-4
```
select * from students limit 1,4
```
選取id從2-4
- 內連接
- 左連接
- 子鏈接
從student表中查詢年齡22~26歲的學生信息
```
select
? id,
? name,
? gender,
? date_format(now(),'%Y')-birth as age,
? department,
? address
from student
where year(now())-birth>=22 and year(now())-birth
```