zoukankan      html  css  js  c++  java
  • 【mysql相关】

    01.07复习mysql**

    mysql -uroot -p123456  --连接数据库
    update mysql.user set authentication_string=password('123456')where user='root' and Host = 'localhost'; --修改用户密码 
    flush privileges;   --刷新权限
    --------------
    --两个单横线是注释
    --注意语句以分号;结尾
    show databases; --查看所有的数据库
    
    mysql>use school --切换数据库, 使用:use 数据库名
    Database changed 
    
    show tables;  --查看数据库中的表
    describe student;  --显示数据库中student表的信息
    
    creat database westos; --创建一个数据库westos
    exit;  --退出连接
    
    

    操作数据库:

    CREATE DATABASE IF NOT EXISTS www  --创建数据库,加if not exists防止重复
    --数据库中自动变成大写
    DROP DATABASE IF EXISTS www	--删除数据库www
    USE `user`   
    SELECT `USER` FROM student  --查询student表中USER字段的信息
    SHOW DATABASE
    
    

    数据库列类型:

    data  YYYY-MM-DD,日期格式
    time  HH: mm: ss 时间格式
    datetime YYYY-MM-DD HH:mm :ss最常用的时间格式
    timestamp  时间戳,19701.1到现在的毫秒数
    ---
    

    数据库字段属性:

    Unsigned:是无符号整数,该列不能为负数
    zerofill:不足位数0填充,比如int(3) 输入5,结果为005
    自增:通常是用于设计整数类型的主键,自增;
    非空 NULL not null ,这个时候不赋值会报错
    NULL,如果不填,就是null
    
    

    创建数据库表:

    CREATE TABLE IF NOT EXISTS `student`(
    --表的名称(student)和字段尽量用` `括起来,防止因为是关键字而造成报错
    --字符串一般使用单引号
    --AUTO_INCREMENT是自增
    	`id`  INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
    	`name` VARCHAR(30) NOT NULL DEFAULT  '匿名' COMMENT '姓名',
    	--default是设置默认值
    	`pwd` VARCHAR(20)NOT NULL DEFAULT '123456' COMMENT '密码',
    	`sex` VARCHAR(2)NOT NULL DEFAULT '男' COMMENT '性别',
    	`birthday` DATETIME DEFAULT NULL COMMENT '出生日期',
    	`address` VARCHAR(100) DEFAULT NULL COMMENT '住址',
    	`email` VARCHAR(50) DEFAULT NULL COMMENT '电子邮箱',
    	--添加主键PRIMARY KEY
    	PRIMARY KEY(`id`)
    	
    )ENGINE INNODB DEFAULT CHARSET = utf8
    

    修改与删除表/表中字段:

    ALTER TABLE teacher RENAME AS teacher1
    --修改表名
    ALTER TABLE teacher1 ADD age INT(11)
    --增加表的字段age
    ALTER TABLE teacher1 MODIFY age VARCHAR(11)
    ALTER TABLE teacher1 CHANGE age age1 INT(1)
    --change和modify区别:modify用于修改约束,change用来给字段重命名
    
    ALTER TABLE teacher1 DROP age1 --删除表的字段
    DROP TABLE IF EXISTS teacher1  --删除表
    --sql关键字大小写不敏感
    

    外键:

    ---方式一创建表时添加
    KEY `FK_gradeid`--定义键
    --FK_gradeid是约束名
    CONSTRAINT `FK_gradeid` FOREIGN KEY (`gradeid`) REFERENCES `grade`(`gradeid`) --给外键添加约束,CONSTRAINT为约束,REFENENCES为引用
    当存被其他表引用(有外键关系)的时候此表是无法直接删除表的,需要先把那个表删除
    --方式二创建后加外键
    ALTER TABLE `student`
    ADD CONSTRAINT `FK_gradeid` FORERIGN KEY(`gradeid`) REFERENCES `grade`(`gradeid`);
    --就是说:添加 约束名 外键()引用 那个表 表中的(哪个字段)
    
    

    其实,数据库存储数据即可,行为数据,列为字段;

    后续用程序即可实现使用多张表的数据

    DML(增删改):数据操作语言

    insert update delete

    select(不是

    insert,update

    INSERT INTO `表名`(`字段1`,`字段2`)values('值1'),('值2')(...)
    UPDATE `表名` SET `name` = 'xxx' WHERE id = 1 --一定要加附加条件
    DELETE FROM `表名` WHERE id = 1;
    TRUNCATE `student` --清空student整个表
    

    select (DQL,数据查询语言)

    SELECT * FROM student --查询全部学生
    SELECT * FROM score  
    SELECT `列名1`, `列名2` FROM student
    SELECT `StudentNo` AS 学号, `StudentName` AS 学生姓名 FROM student--这样用别名就很直观
    --拼接字符串CONCAT(a,b)
    SELECT CONCAT('姓名:',StudentName) AS 新名字 FROM student
    
  • 相关阅读:
    盒模型的属性丶display显示丶浮动
    css样式
    HTML(2)
    HTML(1)
    IO多路复用丶基于IO多路复用+socket实现并发请求丶协程
    进程丶数据共享丶锁丶进程池丶模块(爬虫)
    Sublime Text 3 程序运行后中文显示乱码的解决方案
    sublime Text3中文字体错位问题解决办法
    Sublime Text 3 遇到的一些小坑的解决方法
    在Sublime Text 3中配置Python3的开发环境/Build System
  • 原文地址:https://www.cnblogs.com/dabuliu/p/14253481.html
Copyright © 2011-2022 走看看