初始SQL語句 簡單使用 SQL語言共分為四大類: DQL (Data QueryLanguage )數據查詢語言 DML(Data manipulation language)數據操縱語言 DDL(Data definition language)資料庫定義語言 DCL(Data Control ...
初始SQL語句 簡單使用
SQL語言共分為四大類:
- DQL (Data QueryLanguage )數據查詢語言
- DML(Data manipulation language)數據操縱語言
- DDL(Data definition language)資料庫定義語言
- DCL(Data Control Language)資料庫控制語言
#DDL資料庫定義語言 創建庫、創建表
#DML資料庫操縱語句存數據,刪除數據,修改數據,查看
#DCL控制許可權 # grant/revoke
# 庫
# create database 資料庫名; # 創建庫
# show databases; # 查看當前有多少個資料庫
# select database();# 查看當前使用的資料庫
# use 資料庫的名字; # 切換到這個資料庫(文件夾)下
# 表操作
# 查看當前文件夾中有多少張表
# show tables;
# 創建表
# create table student(id int,name char(4));
# 刪除表
# drop table student;
# 查看表結構
# desc 表名;
# 操作表中的數據
# 數據的增加
# insert into student values (1,'gkf');
# insert into student values (2,'gandan');
# insert into userinfo values (1,'gkf','gkf318'),(2,'gandan','6666'),(3,'goudan','9999');多行添加
# 數據的查看
# select * from student;
# 修改數據
# update 表 set 欄位名=值
# update student set name = 'goudan';
# update student set name = 'gandan' where id=2;
# 刪除數據
# delete from 表名字;
# delete from student where id=1;
初識sql語句 ; 代表一個語句的結束
#進入mysql客戶端
$mysql
mysql> select user(); #查看當前用戶
mysql> exit (回車) # 也可以用\q quit退出
# 預設用戶登陸之後並沒有實際操作的許可權
# 需要使用管理員root用戶登陸
$ mysql -uroot -p # mysql5.6預設是沒有密碼的
#遇到password直接按回車鍵
mysql> set password = password('root'); # 給當前資料庫設置密碼
# 創建賬號
mysql> create user 'gkf'@'192.168.10.%' IDENTIFIED BY '123';# 指示網段可以連接
mysql> create user 'gkf'@'192.168.10.5' # 指示某機器可以連接
mysql> create user 'gkf'@'%' #指示所有機器都可以連接
mysql> show grants for 'eva'@'192.168.10.5';查看某個用戶的許可權
# 遠程登陸
$ mysql -uroot -p123 -h 192.168.10.3
# 給賬號授權
mysql> grant all on *.* to 'gkf'@'%';
mysql> flush privileges; # 刷新使授權立即生效
# 創建賬號並授權
mysql> grant all on *.* to 'gkf'@'%' identified by '123'
# 查看表的欄位基礎信息: desc 表名; 或 describe 表名;
# 查看編碼相關: show variables like '%chara%';
# 查看所有表: show tables;
# 創建表: create table 表名 (id int,name char(4));
# 查看表結構: show create table 表名;#(\G可以格式化顯示)
# 查詢當前資料庫支持的存儲引擎: mysql> show engines \G; #(\G格式化的意思)
# 查看當前的預設存儲引擎: show variables like '%engine%'; #(%代表其他內容)
# 創建表並且指定引擎: create table t3 (id int,name char(4)) engine=memory; #(engine = "指定引擎")
簡單的增刪改查
1. 操作文件夾(庫)
增:create database db1 charset utf8;
查:show databases;
改:alter database db1 charset latin1;
刪除: drop database db1;
2. 操作文件(表)
先切換到文件夾下:use db1
增:create table t1(id int,name char);
查:show tables;
改:alter table t1 modify name char(3);
alter table t1 change name name1 char(2);
刪:drop table t1;
3. 操作文件中的內容(記錄)
增:insert into t1 values(1,'egon1'),(2,'egon2'),(3,'egon3');
查:select * from t1;
改:update t1 set name='sb' where id=2;
刪:delete from t1 where id=1;
清空表:
delete from t1; #如果有自增id,新增的數據,仍然是以刪除前的最後一樣作為起始。
truncate table t1;數據量大,刪除速度比上一條快,且直接從零開始,
*auto_increment 表示:自增
*primary key 表示:約束(不能重覆且不能為空);加速查找
數據操作 增 刪 改 查
增加 insert
insert into 表名 values (數據1...),(數據2...)
- 所有的在這個表中的欄位都需要按照順序被填寫在這裡
insert into 表名(欄位名,欄位名...) values (值1,值2),(值1,值2);
- 所有在欄位位置填寫了名字的欄位和後面的值必須是一一對應
insert into 表名(欄位名,欄位名...) values (值....),(值....),(值....)
- 所有在欄位位置填寫了名字的欄位和後面的值必須是一一對應
value單數與values複數 ,一次性寫入一行數據,一次性寫入多行數據, 一般全用 values
示列
表 id,name,age
insert into t1 value (1,'gkf',23)
insert into t1 values (1,'gkf',23),(2,'gandan',17)
insert into t1(name,age) value ('gkf',23)
insert into t1(name,age) values ('gkf',23),('gandan',17)
#第一個角度
寫入一行內容還是寫入多行
insert into 表名 values (值....)
insert into 表名 values (值....),(值....),(值....)
#第二個角度
是把這一行所有的內容都寫入
insert into 表名 values (值....)
指定欄位寫入
insert into 表名(欄位1,欄位2) values (值1,值2)
刪除 delete
delete from 表 where 條件;
更新 update
update 表 set 欄位=新的值 where 條件;
查詢 select語句
select * from 表
select 欄位,欄位.. from 表
select distinct 欄位,欄位.. from 表 # 按照查出來的欄位去重
select 欄位*5 from 表 # 欄位數字值 四則運算 顯示運算完的結果
select 欄位 as 新名字,欄位 as 新名字 from 表 # 給查出欄位取名字
select 欄位 新名字 from 表 # 給查出欄位取名字