zoukankan      html  css  js  c++  java
  • mysql数据库的基本操作

    1.存储结构:数据库database     表table  数据data;

    2.SQLStructured Query Language,结构化查询语言)语言:和数据库交互的语言,进行数据库管理的语言。

    库的操作

    3.查询所有数据库:show databases;

    4.创建数据库 create database 库名 character set 字符集(utf8或gbk)

    5.查看创建的数据库:show create database 库名;

    6.删除数据库:drop database 库名;

    7.修改数据库:alter database 库名 character set 字符集(utf8或gbk);

    表的操作

    1.选择数据库:use 库名;(建表前必须的一步);

    2.查看库内的所有表:show tables;

    3.创建表:

    CREATE TABLE xiugai(
     sid INT,   //字段名,字段类型
     sname VARCHAR(10)
     )

    4.查看表结构:desc 表名;

    5.删除表:drop table 表名;

    6.表的操作:

    添加字段及字段类型:alter table 表名 add column 字段名称 字段类型(长度);

    删除表的字段:alter table 表名 drop column 字段名称;

    修改字段类型:alter table 表名 modify column 字段名 字段类型;

    修改表的名称:alter table 表名 rename to 表名;

    数据的操作

    1.增加数据:insert into 表名 values();//括号内,按照全表的字段名和字段类型填入,并用逗号隔开;

     插入部分字段: INSERT INTO student(id,NAME) VALUES(2,'李四');

    注:

    字符串类型和日期类型:需要加引号 (’ ')

     

    如CHAR、VARCHAR、TEXT、DATE、DATETIME、TIMESTAMP、YEAR、TIME等数据类型的数据需要加引号

     

    整数和浮点型的:不需要加

     

    如TINYINT、SMALLINT、MEDIUMINT、INT、FLOAT、DOUBLE、DECIMAL等

     

    2.修改数据:UPDATE 表名 SET gender='',age=30 WHERE id=2;(where为有条件)

    3.删除数据:带条件的数据delete from 表名 where id=2;(删除id为2的整条数据)(不带条件时,进行全表删除);此时删除表的数据,但不能删除表的约束(非空、唯一、自增),可以进行数据的回滚

    4.删除数据2:truncate table 表名:可以进行全表删除,同时删除表的约束;,此时不能进行数据的回滚。     

    5.查询所有列:select * from student;

    6.查询指定列:select 字段名 from 表名;

    7.查询时添加常量列:select 表字段名AS'新常量名' from 表名;

    8.查询时合并列:select (字段名+字段名)as'总成绩'from 表名;

    9.查询时去重:select distinct (字段名) from 表名;

    10.条件查询:

     

    1  查询id为2,且姓名为李四的学生
    2 SELECT * FROM student WHERE id=2 AND NAME='李四'; -- 交集

     

    1  查询id为2,或姓名为张三的学生
    2 SELECT * FROM student WHERE id=2 OR NAME='张三'; -- 并集
    1  比较条件: >   <   >=  <=  =  <>(不等于) between and (等价于>= 且 <=)
    2 -- 需求: 查询servlet成绩大于70分的学生
    3 SELECT * FROM student WHERE servlet>70;
    1  查询jsp成绩大于等于75,且小于等于90分的学生
    2 SELECT * FROM student WHERE jsp>=75 AND jsp<=90;
    1 SELECT * FROM student WHERE jsp BETWEEN 75 AND 90; -- (包前包后)
    1 判断null
    2 SELECT * FROM student WHERE address IS NULL ;--判空条件
    1 SELECT * FROM student WHERE address='';---判空字符串
    1 模糊条件: like
    2 -- 通常使用以下替换标记:
    3 -- % : 表示任意个字符
    4 -- _ : 表示一个字符
    5 -- 需求: 询姓‘张’的学生
    6 SELECT * FROM student WHERE NAME LIKE '张%';
    7 
    8 -- 需求: 查询姓‘李’,且姓名只有两个字的学生
    9 SELECT * FROM student WHERE NAME LIKE '李_';
     1 聚合查询(使用聚合函数的查询)
     2  -- 常用的聚合函数: sum()  avg()  max()  min()  count()
     3 -- 需求:查询学生的servlet的总成绩 (sum() :求和函数)
     4 SELECT SUM(servlet) AS 'servlet的总成绩' FROM student;
     5 
     6 -- 需求: 查询学生的servlet的平均分
     7 SELECT AVG(servlet) AS 'servlet的平均分' FROM student;
     8 
     9 -- 需求: 查询当前servlet最高分
    10 SELECT MAX(servlet) AS '最高分' FROM student;
    11 
    12 -- 需求: 查询最低分
    13 SELECT MIN(servlet) AS '最低分' FROM student;
    14 
    15 -- 需求: 统计当前有多少学生(count(字段))
    16 SELECT COUNT(*) FROM student;

    11.分页查询:select * from 表名 limit (当前页-1)*每页显示的条数,每页显示的条数;

     

     12.查询排序:select * from 表名 order by 字段名 asc(默认正序,可不添加); desc(倒叙,由大到小)

    13.多个字段排序,

    SELECT * FROM student ORDER BY servlet ASC,jsp DESC;(前者为主排序,后者为次排序)

    14.分组查询:

    SELECT gender,COUNT(*) FROM student GROUP BY gender HAVING COUNT(*)>2;(必须先执行分组后,才能使用having筛选),在分组前可进行条件查询

    注:

    1.float(8, 2)的8代表小数点前8位,2代表小数点后2位,这仅仅是存储时的格式
    2.小数点的保留最好在selete查询中显示
    selete format(字段名,2)from 表名
    3.decimal(10,2)中的“2”表示小数部分的位数,如果插入的值未指定小数部分或者小数部分不足两位则会自动补到2位小数,若插入的值小数部分超过了2为则会发生截断,截取前2位小数。,其中10为总长度。
    CREATE TABLE emp(
    id INT PRIMARY KEY,,---自己的主键
    empName VARCHAR(20),
    deptid INT,----设置外键
    -- 声明一个外键约束 constraint约束
    CONSTRAINT emp_fk FOREIGN k`dept`ey(deptid) REFERENCES dept(id)
    )
  • 相关阅读:
    显示文件本地文件夹
    Select Dependencies选择依赖项
    搜索小技巧
    783. Minimum Distance Between BST Nodes BST节点之间的最小距离
    5. Longest Palindromic Substring 最长的回文子串
    12. Integer to Roman 整数转罗马数字
    3. Longest Substring Without Repeating Characters 最长的子串不重复字符
    539. Minimum Time Difference 最小时差
    43. Multiply Strings 字符串相乘
    445. Add Two Numbers II 两个数字相加2
  • 原文地址:https://www.cnblogs.com/mlf19920916/p/12053621.html
Copyright © 2011-2022 走看看