MySQL_1基本语句

一、sql单词认识
  1、char和varchar的区别
    char:固定长度,检索快但浪费空间char(20) (zhangsan    )
    varchar:可变长度,检索慢但节省空间 varchar(20)(zhangsan)
   2、表常用单词
    unsigned:无符号
    zerofill:0填充
    auto_increment:自增
    default:默认
    comment:注释
    primary key:唯一主键
二、sql命令
  1、开启服务
    net start mysql
    net stop mysql
  2、连接数据库
    mysql  -uroot  -p123456
    mysql  -h  localhost  -u root  -p 123456
  3、修改密码
    update user set password=password(‘1234’) where user=‘root’ flush privileges;
   4、退出
     exit
三、数据库增删改查
  1、查看数据库
    SHOW DATABASES;
  2、创建数据库
    CREATE DATABASE IF NOT EXISTS school;
  3、使用数据库
    USE school;
  4、显示所有表
    SHOW TABLES;
  5、删除数据库
    DROP DATABASE school;
四、数据表增删改查
  1、创建数据表
    CREATE TABLE student(
      studentNo INT(4) PRIMARY KEY NOT NULL AUTO_INCREMENT,
      StudentName VARCHAR(20) NOT NULL,
      sex CHAR(2) DEFAULT ‘男’ NOT NULL,
      age INT(3) UNSIGNED ZEROFILL,
      score INT(3) UNSIGNED NOT NULL,
      bornDate DATETIME COMMENT ‘出生日期’
    )ENGINE=INNODB CHARSET=utf8
  2、复制表
    CREATE TABLE stu (SELECT studentNo,stu_name FROM student);
  3、显示表结构
    DESC student;
  4、显示表创建语句
    SHOW CREATE TABLE student;
  5、删除表
    DROP TABLE student;
  6、修改表
   (1)修改表名
      ALTER TABLE student RENAME AS stu;
   (2)添加字段
      ALTER TABLE stu ADD phone VARCHAR(11);
   (3)修改字段类型
      ALTER TABLE stu MODIFY phone CHAR(11) NOT NULL;
   (4)同时修改字段名和类型
      ALTER TABLE stu CHANGE phone telphone VARCHAR(11);
   (5)删除字段
      ALTER TABLE stu DROP telphone;
五、数据增删改查
  1、增加:insert into 表名(字段1,字段2) values(值1,值2),(值1,值2);
    insert into student(name,sex,phone) values(‘李四’,‘男’,12345678910),(‘王五’,‘女’,12345678910),(‘赵六’,‘男’,12345678910);
  2、修改:update 表名 set 字段1=?,字段2=? where 条件
    UPDATE result SET studentNo=3,score=100 WHERE subjectName=‘数据库’;
  3、删除:delete from 表名 where 条件
    DELETE FROM result WHERE resultId=2;
  4、删除所有数据
    DELETE FROM student;    #主键不会重置,接着上次删除的开始
    TRUNCATE TABLE student;  #主键会从头1开始
  5、查询 select [distinct去重复]字段 from 表名[where条件] [group by 字段] [having 条件] [order by 字段] [limit 数值,数字];
   (1)查询所有数据
      SELECT * FROM student ;
      查询部分列
      SELECT studentName as 姓名,sex,phone FROM student;
      
   (2)模糊查询  like ‘%模糊多个字符’,’_模糊一个字符’
      SELECT studentName FROM student WHERE studentName LIKE ‘李%’;
      SELECT studentName FROM student WHERE studentName LIKE ‘李_’;
      SELECT * FROM student WHERE address LIKE ‘%北京%’;
      
   (3)过滤:(where后边不能有聚合函数,having和select后边可以有)
      分组:gruop by
      分组后的过滤:having
      排序:order by 字段 desc(降序)/asc(升序)
      分页查询:limit 偏移量(下标从0开始),条数
        #学生表中从0开始显示5条数据
         SELECT * FROM student LIMIT 0,5; #等价于limit 5;
         #页码(page) 条数(pagesize)
         limit (page-1)*pagesize,pagesize
   (4)函数的应用
     #获取当前时间
      SELECT NOW();
     #返回两个日期之间间隔的天数
      SELECT DATEDIFF(NOW(),‘2008-8-8’);
     #某天加上5天后的日期
      SELECT ADDDATE(‘2018-11-28’,5);
     #查询student表中的人名,每条数据人名前加"姓名:"
      SELECT CONCAT(‘姓名:’,stu_name) AS 姓名 FROM student;
   (5)between and关键字
     #查询课时在100-120之间的课程信息
      SELECT * FROM subject WHERE classHour BETWEEN 110 AND 120;
     #and 和 or

猜你喜欢

转载自blog.csdn.net/weixin_43779785/article/details/84491961
今日推荐