mysql查询所有男生中姓王的_数据库6.22
三大主流關系型數據庫:
Oracle??????? sql server??? MySQL
專業(yè)術語:
數據庫(database):存儲數據的倉庫,簡稱為DB
數據庫管理系統(database manger system),DBS
數據庫系統(database system),DBS???? DB+DBS====>? (軟件)
MySQL是典型的關系型數據庫
mysql安裝:
1、.msi ? 的安裝:
下一步
2、.zip 壓縮包的安裝
1、官網下載
2、解壓壓縮包(不要有中文和特殊字符)
3、修改my.ini (隨機復制其中一個)文件
修改basedir=mysql的主目錄
修改datadir=mysql的主目錄\data
5、將mysql的bin配置到path中:
此電腦(右鍵)===>屬性=====>高級===>環(huán)境變量====>path(上面是當前用戶,下面是登錄用戶?? win7 和win8需要在最后打個英文分號?? 然后將路徑配置過去)
6、右鍵單擊以管理員權限打開??????? 將位置切換到mysql安裝路徑的bin目錄下
7、注冊服務:mysqld install? 安裝到電腦上的/? mysql? remove? 移除(必須把服務先停止)
8、啟動服務:
(1)、使用服務面板,手動啟動
(2)、window下啟動服務(不用管位置)? net?? start/stop/(linux下啟動服務 ?? service xxx? start/stop/restart/status)
(3)、進入mysql
liunx下安裝:
1、離線下載
2、--atp(atp-get):
ubuntu: ? sudo? apt-get install? mysql-server(服務器)mysql-client(客戶端)
必須要輸,以后的密碼
CenterOS:sudo yum? install? mysql-server(服務器)mysql
退出mysql:
exit、quit、\q、Ctrl+C
常見的mysql命令:
show databases;#此命令返回當前DBS系統中所有數據庫
use dbName;#表示進入到對應名稱的數據庫中去
show tables;# 查看當前數據庫下的所有表
desc/describe board;? ? # 查詢一張已經存在表的結構
select * from tableName; # 表示查詢tableName表的所有數據;
sql(structured query language)結構化查詢語言
sql:
DDL(database defined language):數據庫定義語言
create drop show alter……
DML(database Manipulation Language):數據庫操作語言
CRUD(create Retrieve update delete)
insert
update
delete
select---DQL
DCL(database controller language):數據庫控制語言
grant invoke
創(chuàng)建數據庫:
create [database/table/index/function/cursor/view] 名稱
create database db_py1805 [default charset=utf8 ]
刪除數據庫
drop [database/table/index/function/cursor/view] 名稱
drop database db_py1805;
創(chuàng)建表:
create table 表名(
字段1 類型 [約束條件],
字段2 類型 [約束條件],
……
字段n 類型 [約束條件]
)
create table t_user (
id int ,
username varchar(50),
age int,
gender varchar(5)
)
insert插入語句
insert into 表名(字段1,字段2,……,字段n) values(值1,值2,……,值n);
insert into t_user(id,username,age,gender) values(1,"zs",16,'nan');
配置mysql的遠程登錄:
1、到mysql 數據庫?? use? mysql
2、查詢user??? select?? user from??? user;
在沒有配置遠程的情況下:? localhost? |root
3、修改root用戶(現在只有一個root用戶? 所以修改?? 但一般情況下 只修改對應帳號) ????????? update user? set?? host=“%”?? where? user=“root”;
將bind-address 注掉
在修改之后:還需要進入配置文件修改配置文件
4、修改配置文件 /etc/mysql/mysql.conf.d/mysqld.cnf???? 找到43行
bind-address注釋掉
5、重啟mysql
創(chuàng)建表格:
create table t_hero (
id int primary key auto_increment,(主鍵 ?? 不能重復,不能為空? 自動維護)
name varchar(50) not null,(不能為空)
age int default 40,(如果填入的不寫,則默認填寫40歲)
gender varchar(5),
nikename varchar(50) unique, -- 不能重復,
address varchar(50),
level int default 100
)
插入:
insert into 表名 values(xxxxx);
insert into 表名(字段……) values(xxxxx);
查詢:
select * from tableName;? 查詢所有
select [字段1,字段2,……,字段n] from tableName;
select?? version()? 返回當前數據庫的版本信息
select? now()返回當前時間
select?? database()返回當前所在的數據庫
name varchar(30)?????????? lvbgfbjk???????? 小于30的時候自動做成自己的長度
name char(30)??????????? lvbgfbjk???????? 小于30的時候也占30
日期date(只能表示年月日) time(只能表示時分秒)??? datatime? (年月日時分秒)
grant語句的使用:
grant all on db_py05.* to 'xxx'@'localhost' identified by '543245';
grant all(權限) on db_py05(某個數據庫).*(某張表) to “xxx”(用戶名稱???? 表示創(chuàng)建)@'localhost'(表示只能遠程登錄? %??? 表示可以遠程登錄) identified by '55655'(密碼);
grant all on *.* to 'root'@'%' identified by '123456';
更新
update tableName set 字段1=新值,字段2=新值,字段3=新值 [where condition]
update tableName set 字段1=新值,字段2=新值,字段3=新值 [where condition] 必須跟條件,否則全表更新
刪除
delete from tableName? [where condition]?? 必須帶條件,不帶條件則全表清空
truncate? [table]? tablename; 刪除 慎用??? 不可逆的 常規(guī)手段是不可恢復的
修改
alter的操作
修改類型??? alter table t_user modify type text;
增加一個字段 ??? alter table t_user add type int;
alter table t_user add (添加)type(列名字) int(類型);
刪除一個字段? alter table t_user drop type;
數據庫的備份:
mysqldump:在bin目錄下
mysqldump 命令
mysqldump –u root –p dbname > 保存路徑.sql
mysqldump –u root –p db_bbs > d:/db_bbs.bak.sql將數據庫db_bbs以腳本的形式保存到D盤]
將sql腳本還原為數據庫
mysql –u root –p dbname < 保存路徑
mysql 的單表條件查詢:
1、查詢id為1的用戶:select * from t_user where id=1;
2、查詢id大于等于3的用戶:select * from t_user where id>=3;
3、查詢id不為3的用戶:
select * FROM t_user WHERE id != 3;
select * FROM t_user WHERE id <> 3;
4、查詢年齡大于10并且姓名為張三的人的性別:
SELECT gender FROM t_user where age > 10 AND username = '張三';
5、查詢年齡大于等于20 或者性別是男的人的詳情
SELECT * FROM t_user WHERE age >= 20 OR gender = '男';
6、查詢性別為空
注意:在sql中,判斷為空,或者判斷不為空,需要使用is,而不是等于符號
SELECT * FROM t_user where gender is null;
SELECT * FROM t_user where gender is not null;
7、查詢所有人的年齡的和
SELECT SUM(age) FROM t_user;
8、找出年齡最大的那個哥們
SELECT max(age) FROM t_user;
9、找出年齡最大的那個姐們
SELECT min(age) FROM t_user;
10、求當前所有人的平均年齡
SELECT avg(age) FROM t_user;
11、 共有多少人?
SELECT count(*) FROM t_user;
12、共有多少人?
SELECT count(*) as counts FROM t_user;
13、 共有多少人?
SELECT count(*) counts FROM t_user;
14、年齡大于16 并且 年齡小于 20歲
SELECT * FROM t_user where age >= 16 AND age <= 20;
15、年齡大于16 并且 年齡小于 20歲
SELECT * FROM t_user where age BETWEEN 16 AND 20;
16、 查詢年齡為5 8 16 20 30 50的人
SELECT * from t_user where age in (5,8,16,20,30,50);
17、 查詢年齡為5 8 16 20 30 50的人
SELECT * from t_user where age not in (5,8,16,20,30,50);
模糊查詢? like
1、 查詢姓王的人
SELECT * FROM t_user where username LIKE '王%'
2、 查詢名稱中第二個字是建的
SELECT * FROM t_user where username LIKE '_建%'
SELECT * FROM t_user where username LIKE '%哥%'
SELECT * FROM t_user;
3、 排序
-- 查詢所有用戶,默認使用年齡升序排列
SELECT * FROM t_user order by age ;
SELECT * FROM t_user where age > 10 order by age asc;
SELECT * FROM t_user where age > 10 order by age desc;
SELECT * FROM t_user where age > 10 order by age desc, id asc;
4、分組
統計當前男生有多少人,女生多少人
SELECT count(gender) FROM t_user;
SELECT gender,count(*) FROM t_user group by gender;
SELECT age FROM t_user GROUP BY age;
通過性別進行分組,得到組員多余3人的
having 必須是出現group by之后,它是對分組結果進行篩選
SELECT gender,count(*) as counts FROM t_user group by gender having counts > 3;
SELECT * FROM t_user LIMIT 5;
SELECT * FROM t_user LIMIT 0,2;
SELECT * FROM t_user LIMIT 2,2;
SELECT * FROM t_user LIMIT 4,2;
總結
以上是生活随笔為你收集整理的mysql查询所有男生中姓王的_数据库6.22的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何建立强有力的人脉关系?
- 下一篇: 王叁寿,令人佩服,激励一下自己