SQL:结构化查询语言,是一种what型语言,是告诉服务器自己想要什么样的数据,不需要考虑内部如何去做。
SQL语言一般分为三种:DML(数据操作语言)sql中处理数据等操作统称为数据操作语言,比如增删改查。
DDL(数据定义语言)用于定义和管理SQL数据库中的所有对象的语言(建设者的角度,建表,建库,建视图等等)。
DCL(数据控制语言)用来授予和回收访问数据库的某种特权,并控制数据库操纵事物发生的时间及效果,对数据库实行监视等。(管理员角度, DBA(数据库管理员),这个用户是否有权限建表等)。
SQL命令:
使用客户端连接本地mysql:mysql -h localhost -u 用户名 -p密码
使用客户端连接远程主机上的mysql:mysql -h192.168.3.227 -u用户名 -p密码
修改数据库密码:mysqladmin -u用户名 -p旧密码 password新密码
创建数据库:create databases 库名 charset utf8;
删除数据库:drop database 库名;
查询建表语句:show create table user;
删除表:drop table 表名;
查看库:show databases;
选库:use 库名;
查看库下面的表:show tables;
查看表的结构:desc 表名;
SQL语句->增加
1.增加所有列
insert into 表名(id,title,content) values (1,'张三','今天运气真好');
2.增加部分列(列与值要严格对应)
insert into 表名(id,title) values (2,'李四');
3.插入所有列的简写(键可以不写)
insert into 表名 values (3,'赵六','好饿想吃饭');
4.一次添加多行数据(多行数据要用逗号隔开)
insert into 表名 values(4,'aa','bb'),(5,'cc'.'dd')(6,'ee','ff');
SQL语句—>修改(一定要记得加where限制条件,不然整个数据库的数据都修改了)
update 表名 set 列1=新值,列2=新值 where id=1;
如update use set title='ss',content='jj' where id=4;
SQL语句->删除
delete from 表名 where id=1;
delete from user where id=1;
SQL语句->查询
1.查询表的所有行所有列(尽量少用,增加数据库的负担)
select * from 表名
2.查询一行
select * from 表名 where id=4;
3.查询多行
select * from 表名 where id>2;
4.查询某几行的某几列,*代表所有列
select id,title from 表名 where id>2;
查询模型
1.列是变量,每一行列在变化,从上到下,遍历行,where是表达式,当值为真,则取出该行
select * from user where 1 //取出所有行 1可以看成true
select * from user where 0 //一行都取不出来 0可以看出false
2.变量可以计算
算出明年多少岁:
select name,age+1,gende from user where id=1;
查询本店商品价格比市场价低多少 :
select shop_id,shop_name,shop_price,market_price-shop_price from shop;
3.投影的概念
user有3列我们只取出其中二列(部分列),叫做投影运算,就像手电筒只照到二列投出影子显示出来 投影运算并没有运算:
select name age from user;
二个列做运算叫广义投影:
select shop_id,shop_name,shop_price,market_price-shop_price from shop;
以上是笔记里有SQL命令更详细的列子。