mysql数据库常用sql语句
數據庫可以用圖形化工具來實現一系列操作,這里涉及一些cmd命令行
首先要配置好環境變量可以全局操作命令,不然只能在mysql的安裝目錄下進行操作,這里不再敘述
1. 進入數據庫:? mysql -u root -p (默認用戶名為root,這個與mysql安裝時的設置的用戶有關,可設置使用不同用戶)? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ?退出則用exit指令
2. 看有哪些數據庫:? ?show databases;? (注意每次執行數據庫命令時要加‘’;‘’,你也可以設置成其他符號,這里不再敘述)
3. 進入指定數據庫 :? use 數據庫名;
4. 查看數據庫中有哪些表:? ?show tables;
5. 查看表:(1) desc 表名;? ?查看數據
? ? ? ? ? ? ? ? ? (2)? show create table 表名;? ? ? 查看表的細節
?
sql語句:DDL(定義數據庫對象,表與列),DML(用于操作數據庫表中的記錄數據),
? ? ? ? ? ? ? ? DQL(查詢數據),DCL(定義訪問權限和安全級別)
?
1.DDL 數據定義語言
注意點:在指定數據庫中做表的相關操作,所以要先進入指定的數據庫
創建數據庫和表:
創建數據庫 create database 數據庫名 character set utf8;? ? (字符集一般設為utf8)
創建表: 在指定數據庫中創建表,所以要先進入指定的數據庫
? ? ? ? -- use 數據庫名;
? ? ? ? -- create table 表名(列名1(字段) 字段類型[約束條件],列名2 字段類型,...);
? ? ? ? ? ? ? ?eg:create table students(name varchar(255),age int,gender varchar(25));
修改表名: rename table 原來表名 to 新表名;
修改表的字符集:例如將表字符集改為gbk ,則是 alter table 表名 character set gbk;
刪除表:drop table 表;
刪除數據庫名:drop table 數據庫名;
?
修改字段(列)
添加字段:alter table 表名 add 字段名 字段類型;
修改字段名:alter table 表名 change 原始字段名 新的字段名 新數據類型;
修改字段的數據類型:alter table 表名 modeify 字段名 字段類型;
刪除字段: alter table 表名 drop 字段名:
?
2.DML 數據操作語言
首先要進入指定的數據庫中才能進行操作數據
插入多條數據數據:insert into 表名(列名1,列名2,...)? values (列值1,列值2,...),values (列值1,列值2,...),...
修改更新數據:update 表名 set 列名1=列值1,列名2=列值2,... where 條件;? ? ? ? ? ?用where條件對指定數據進行修改
修改數據庫密碼:
? ? ? ? 第一種方式:(1)use mysql;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (2)update user set authentication_string=password('密碼') where user='root' and Host='localhost';
? ? ? ? 第二種方式:mysqladmin -u root = 新密碼;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?然后會讓你輸入舊密碼就可修改
? 刪除記錄:
? ? ? ? 第一種:delete from 表名 where 條件;? ? ? ?能找回數據
? ? ? ? 第二種:trumcate table 表名;? ? ? ? ? ? ? ? ? ? ? 創建一個新的表,但是表原來的數據刪除了,不能找回數據
?
3.DQL 數據查詢語言
? ? 查詢數據顯示指定字段:select 字段名1,字段名2,...?from 表名;? ? (select * from 表名; 則是顯示全部字段)
? ? 條件查詢:=(等于),!=(不等于),<>(不等于),<(小于),<=(小于等于),>(大于),>=(大于等于)
? ? ? ? ? ? ? ? ? ? ?between ... and? ?,? ?in(set)? (在set集合中)? , is null (為空)? ,is not null (不為空)?
? ? ? ? ? ? ? ? ? ? ?and(與), or(或), not(非)
? ? ? ? ? ? ? ? ?eg:select * from 表名 where age in (18,17,19);
? ? 模糊查詢:通過關鍵字查詢,格式為 like+通配符
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 通配符:-(任意一個字符),%(任意0-n個字符)
? ? ? ? ? ? ? ? ? ? ? ?eg: 查詢名字中帶‘李’的人? ?select * from 表名 like '%李%';
? ? ?字段查詢:1. distinct去重 :select distinct 字段名 from 表;? ? ?顯示指定字段,去掉了重復字段數據
? ? ? ? ? ? ? ? ? ? ? ?2. 對數值型字段進行運算后顯示:
? ? ? ? ? ? ? ? ? ? ? ? eg:? ?select 字段1+字段2 as 新字段名 from 表;? ? ? ?將兩字段進行運算后,顯示新的字段名
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (字段1,字段2必須是數值型,若為空則可設置默認值,IFNULL(字段1,數值))
? ? ? ? ? ? ? ? ? ? ? ? eg:? ? select IFNULL(字段1,0)+IFNULL(字段2,0) as 新字段名 from 表;? 默認空字段設為0
? ? ?排序:select * from 表名 ORDER BY 字段1 ASC,字段2 DESC,...
? ? ? ? ? ? ? ? ? ? 先按字段1排序,若有字段相同數據,在按字段2進行排序,以此類推? ? ASC為升序,DESC為降序
? ?
? ?聚合函數:對統計的結果進行計算統計??
? ? ? ? ? ? ? ? ? ? COUNT() : 統計指定列不為null的行數? ? ? eg: select count(字段1) from 表 [where 條件];
? ? ? ? ? ? ? ? ? ? MAX() : 列中最大值? ? ? ? ? ? ?eg: select max(字段1) from 表 [where 條件];
? ? ? ? ? ? ? ? ? ? MIN() : 列中最小值? ? ? ? ? ? ? eg: select min(字段1) from 表 [where 條件];
? ? ? ? ? ? ? ? ? ? SUM() : 列的數值和,若不是數值類型則為0? ? ? ?eg: select sum(字段1) from 表 [where 條件];
? ? ? ? ? ? ? ? ? ? AVG() : 列的平均數,若不是數值類型則為0? ? ? ? eg: select avg(字段1) from 表 [where 條件];
?
? ? ? ? ? ? ? ? ? ??
總結
以上是生活随笔為你收集整理的mysql数据库常用sql语句的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端在线取色器工具
- 下一篇: html鼠标悬停位置,html – 当我