use test;selectdatabases();#查看数据库,相当于pwdselectuser();#查看当前连接数据库的用户,相当于whoami
创建用户、授权、收回权限
grantallon test_gbk.*to'testuser'@'localhost' identified by '123456';#赋予testuser所有权限,密码
flush privileges; #刷新权限
show grants for 'testuser'@'localhost';
revoke insert,update,select,delete on test_gbk.* from 'testuser'@'localhost';#收回权限
create user test identified by 'BaC321@#';#创建用户update mysql.userset authentication_string=password('A1b2c3#!@')whereuser='test';#修改密码
insertinto T1 values('zhang','man');select*from T1 where name like'%an%';selectcount(*)as toaolcount from T1;altertable T1 add age int(4)notnull;altertable T1 drop age;update T1 set age=25where name='zhang';deletefrom T1 where age='22';altertable T1 addprimarykey(name);
查询
基本查询
投影查询
排序
分页
SELECT id, name, gender, score FROM students ORDERBY score DESCLIMIT5OFFSET0;
聚合查询 求总数、合计值、平均值、最大值和最小值;
多表查询 多个表的笛卡尔积
连接查询
实用sql语句
插入或替换 插入一条已存在的数据,用replace,若id已存在,则删除记录,这样就无需再查询
REPLACEINTO students (id, class_id, name, gender, score)VALUES(1,1,'小明','F',99);
插入或更新 如果我们希望插入一条新记录(INSERT),但如果记录已经存在,就更新该记录,此时,可以使用INSERT INTO ... ON DUPLICATE KEY UPDATE ...语句:
INSERTINTO students (id, class_id, name, gender, score)VALUES(1,1,'小明','F',99)ONDUPLICATEKEYUPDATE name='小明', gender='F', score=99;
插入或忽略 如果我们希望插入一条新记录(INSERT),但如果记录已经存在,就啥事也不干直接忽略,此时,可以使用INSERT IGNORE INTO ...语句:
INSERTIGNOREINTO students (id, class_id, name, gender, score)VALUES(1,1,'小明','F',99);
快照 对class_id=1的记录进行快照,并存储为新表students_of_class1:
CREATETABLE students_of_class1 SELECT*FROM students WHERE class_id=1;
Mysql学习笔记之常用基础语句查看帮助:help create;创建、删除、查看数据库create database test_data;show databases like “test%”;drop database test_data;连接数据库use test;select databases();#查看数据库,相当于pwdselect user();#查看当前连接数据库的用户,相当于whoami创建用户、授权、收回权限grant all on test_g