数据库

来源:互联网 发布:windows镜像下载网站 编辑:程序博客网 时间:2024/06/05 04:47

DDL:


1.显示所有数据库
show databases  
2.切换到指定数据库
use mydb
3.显示所有数据库表
show tables
4.显示指定表结构
describe student
5.修改表结构:添加字段( 要加(COLUMN ) ---DROP COLUMN  )
   ALTER TABLE student ADD age int
                       DROP COLUMN  age
6.删除表

  DROP TABLE student


 7.  PRIMARY key (number)   设置主键


GRANT 权限           ON 数据库.表  TO'用户名'@'主机名'    IDENTIFIED BY '密码' ;
GRANT ALL PRIVILEGES ON *.*        TO'test '@'localhost'  IDENTIFIED BY '123456' ;
注:
ALL PRIVILEGES:所有权限
INSERT,SELECT,DELETE,UPDATE,CREATE,DROP 其它权限


自动增长:(只能设置键)
AUTO_INCREMENT


9.约束
NOT NULL 不允许为空
UNIQUE()唯一 不允许重复
CHECK  保证列中的值符合指定的条件。
DEFAULT 默认值
外键约束:
P_Id int,
 FOREIGN KEY (P_id)REFERENCES 外键表名(外键);
多个外键时:
CONSTRAINT fk_当前表名 FOREIGN KEY (此表需要定义的外键)
REFERENCES 外键表名 (外键表中的主键);

 

DML:

1.添加一条记录
  INSERT INTO student (number,name,age)VALUES(1001,"张三",23); 
  INSERT INTO student VALUES(1001,"张三",23); 
  
2.查询数据库表中所有记录
  SELECT (number,name,age) FROM student;
  SELECT * FROM student;
3.删除数据库中的数据
  DELETE 语法
DELETE FROM 表名称 WHERE 列名称 = 值
DELETE FROM Person WHERE LastName = ‘Wilson’


3.WHERE子句
  关系运算   > >= < <= != <>  =

  逻辑运算   AND  OR


  [NOT] BETWEEN   :   值1  AND  值2
    SELECT * FROM student WHERE number NOT BETWEEN 1001 AND 1003;
   
   IN(值1,值2,...)

     SELECT number AS 学号 FROM student AS s  WHERE s.age IN (23,25);


     LIKE :模糊查询

   

AS别名

  SELECT number AS 学号 FROM student AS s  WHERE s.age IN (23,25);

  SELECT * FROM student AS s  WHERE s.age IN (23,25);

4. 修改记录
   UPDATE student SET age = 20 WHRER name="李四"
5. 删除记录
   DELETE FROM student WHERE age = 25;

6. 排序
   ORDER BY age ASC(升序) DESC(降序)


7. 函数:


1.GROUP BY  根据一个或多个列 对结果集进行分组
SELECT id ,SUM( ) FROM 表名 GROUP BY id;
2.HAVING
  /*在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与聚合函数一起使用。
HAVING 子句可以让我们筛选分组后的各组数据。*/
 SELECT site_id,    SUM(count) FROM access_log GROUP BY site_id HAVING SUM(count) > 200;
 需要组合的列
3.limit
limit 从开始 查询几行
limit  开始的位置,查询几行


原创粉丝点击