为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
与MySQL的零距离接触_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
  • 修改列定义:数据列的名字上没有问题,数据列的类型上有问题或者位置有问题 将id移动第一列上, 1.修改列定义 ALTER TABLE tbl_name MODIFY [COLUMN] col_name column_definition [FIRST AFTER col_name]; ALTER TABLE users2 MODIFY id SMALLINT UNSIGNED NOT NULL FIRST; //将id字段的位置提到第一列 SHOW COLUMNS FROM users2; ALTER TABLE users2 MODIFY id TINYINT UNSIGNED NOT NULL; //修改数据类型,需注意数据丢失的问题 2.修改列名称和类型 ALTER TABLE tbl_name CHANGE [COLUMN] col_name new_col_name column_definition [FIRSTAFTER col_name]; ALTER TABLE users2 CHANGE pid p_id TINYINT UNSIGNED; //修改列名称 3.数据表更名 方法1 ALTER TABLE tbl_name RENAME [TO/AS] new_tbl_name ALTER TABLE users2 RENAME TO users3; SHOW TABLES; ALTER TABLE users2 RENAME AS users4; SHOW TABLES; ALTER TABLE users2 RENAME users5; 方法2 RENAME TABLE tbl_name TO new_tbl_name [, tbl_name2 TO new_tbl_name2] ... RENAME TABLE users5 TO users2; 近来少使用数据表的列名及表名的更名。 2.约束 按功能划分:NOT NULL, PRIMARY KEY, UNIQUE KEY, DEFAULT, FOREIGN KEY 按数据列的数目划分:表级约束, 列级约束 3.修改数据表 针对字段的操作:添加/删除字段、修改列定义、修改列名称等。 针对约束的操作:添加/删除各种约束 针对数据表的操作:数据表更名(两种方式)
    查看全部
  • 删除约束: 1,删除主键约束: alter table 表名 drop primary key ; 主键一张表中只能有一个 所以不用加条件 2,删除唯一约束: alter table 表名 drop {index 或 key} 列名 ;删除的只是约束,字段存在 3,删除外键约束: alter table 表名 drop foreign key 外键索引名字; show create table 表名;查看外键索引名字
    查看全部
  • 1.添加主键约束 CONSTRAINT_PK主键名字为PK ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...) e.g:ALTER TABLE users ADD CONSTRAINT PK_users_id PRIMARY KEY (id); 2.添加唯一约束 ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] UNIQUE [INDEXKEY] [index_name] [index_type] (index_col_name,...) e.g:ALTER TABLE users ADD UNIQUE (username); 3.添加外键约束 ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name](index_col_name,...) reference_definition e.g:ALTER TABLE users ADD FOREIGN KEY (pid) REFERENCES provinces (id) 4.添加/删除默认约束 DEFAULT ALTER TABLE tbl_name ALTER [COLUMN] col_name {SET DEFAULT literal DROP DEFAULT} e.g: ALTER TABLE users ADD age TINYINT UNSIGNED NULL; ALTER TABLE users ALTER age SET DEFAULT 15; ALTER TABLE users ALTER age DROP DEFAULT;
    查看全部
  • 修改数据表:列的增加,删除,约束的增加删除 添加单列 ALTER TABLE tbl_name ADD [COLUMN] col_name column_definition [FIRST AFTER col_name] 例如: ALTER TABLE users1 ADD age TINYINT UNSIGNED NOT NULL DEFAULT 10;//位于最后一列 在 username后面添加 password 属性: ALTER TABLE users1 ADD password VARCHAR(32) NOT NULL AFTER username; (2)添加多列 ALTER TABLE tbl_name ADD [COLUMN] (col_name column_definition,...) (3)删除列 ALTER TABLE tbl_name DROP [COLUMN] col_name 例如:ALTER TABLE users1 DROP truename; 一次删除多列: ALTER TABLE uses1 DROP password,DROP age; 也能删除一列的同时,新增一列。其间用逗号隔开。
    查看全部
  • CREATE DATABASE t1//创建数据库 SHOW DATABASE//查询数据库 CREATE DATABASE IF NOT EXITS t1 SHOW CREATE DATABASE t1//查看database编码 CREATE DATABASE IF NOT EXITS t2 CHARACTER SET 编码方式gbk/utf8//指定创建数据库编码
    查看全部
    1 采集 收起 来源:操作数据库

    2016-07-30

  • 1.表级约束与列级约束 (1)对一个数据列建立的约束,称为列级约束 (2)对多个数据列建立的约束,称为表级约束 (3)列级约束既可以在列定义时声明,也可以在列定以后声明 (4)表级约束只能在列定义后声明 2.主键、外键、非空、唯一、check,default都是约束条件。主键、外键、既可以作为表级约束,也可作为列级约束 而像非空、唯一等( not null, default )只有列级约束
    查看全部
  • 1. CASCADE: 从父表删除或更新且自动删除或更新子表中匹配的行。 2. SET NULL: 从父表删除或更新行,并设置子表中的外键列为NULL。如果使用该选项,必须保证子表列没有指定NOT NULL。 3. RESTRICT: 拒绝对父表的删除或者更新操作。 4. NO ACTION: 标准SQL的关键字,在MySQL中与RESTRICT相同。 添加父表: mysql> CREATE TABLE provinces( id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, pnane VARCHAR(20) NOT NULL ); 添加子表带CASCADE操作: mysql> CREATE TABLE user1( id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, username VARCHAR(10) NOT NULL, pid SMALLINT UNSIGNED, FOREIGN KEY (pid) REFERENCES provinces (id) ON DELETE CASCADE//指的是在父表中删除或更新记录时同时更新子表相应的行, ); 在俩张表中插入记录,先在父表中插入记录, INSERT province (pname)VALUES('A') INSERT province (pname)VALUES('B') INSERT province (pname)VALUES('C') SELECT * FROM province 在子表中插入记录 INSERT users1(username,pid)VALUES('Tom',3)//表示省份的名称对应的是C 删除记录DELETE FROM province WHERE id=3;父表中省份名称为C的那条记录不存在了 在子表中pid为3的也全部删除
    查看全部
  • 打开一个数据库 USE test 创建一个数据表 CREATE TABLE province( -> id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT -> pname VARCHAR(20) UNSIGNED NOT NULL ->); 创建一个用户数据表 CREATE TABLE users( -> id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT -> username VARCHAR(10) NOT NULL ->pid SMALLINT UNSIGNED//pid和id字段类型要一样 ->FOREIGN KEY (pid) REFERENCES provinces (id) ->); 子表是users,父表是province 外键列pid,参照列id, province的id加过主键,主键在创建的时候回自动创建索引。所以id字段上已经创建过索引,参照列已经有了索引 显示索引SHOW INDEXS FROM province; 外键列上我们没有为pid指定主键,系统自动创建索引
    查看全部
  • 加密函数 1,MD5() ;一种摘要的算法 select md5('admin');给admin加密。如果mysql中的信息是为了web开发做准备,那么尽量使用md5. PASSWORD md5('admin');进行密码的计算,修改当前或者其他客户端 2,改掉密码:SET PASSWORD=PASSWORD('dimitar'); 检测 退出 登陆 mysql -uroot -p;拒绝登陆 mysql -uroot -pdimitar;登陆成功
    查看全部
    0 采集 收起 来源:MySQL 加密函数

    2016-07-30

  • 聚合函数只有一个返回值 AVG() - 平均值 SELECT ROUND(AVG(goods_price),2) AS avg_price FROM tdb_goods; COUNT() - 计数 SELECT COUNT(goods_id) as counts FROM tdb_goods; MAX() - 最大值 SELECT MAX(goods_price) as counts FROM tdb_goods; MIN() - 最小值 SUM() - 求和 SELECT SUM(goods_price) as counts FROM tdb_goods;
    查看全部
    0 采集 收起 来源:MySQL 聚合函数

    2016-07-30

  • 字符型 char CHAR VARCHAR TINYTEXT TEXT MEDIUMTEXT LONGTEXT ENUM SET
    查看全部
  • (1)CONNECTION_ID(); // 连接ID mysql> SELECT CONNECTION_ID(); (2)SELECT DATABASE(); // 当前数据库 (3)LAST_INSERT_ID(); // 最后句插入记录的 ID 号,如果是一次insert中插入的是多条记录,得到的是多条中的第一条(而不是最后一条!) (4)VERSION(); // 版本的信息 (5)USER(); // 当前用户 SELECT USER();
    查看全部
    0 采集 收起 来源:MySQL 信息函数

    2018-03-22

  • 日期 YEAR TIME DATE DATETIME TIMESTAMP 时间戳 TIMESTAMP
    查看全部
  • 日期时间函数 NOW() /*当前时间 含日期时间 CURDATE() /* 当前日期 只有日期 CURTIME() /*当前时间 值有时间 DATE_ADD() /*时间增减或减少 SELECT DATE_ADD('2014-3-12',INTERVAL 365 DAY); ==>2015-3-12 /*在原有给定的时间上增加365天 INTERVAL增加可以增加负值 单位 year ,month,week,day SELECT DATEDIFF('2014-1-1','2015-1-1') ==> -365 /*时间差值计算 单位为日 前面时间减去后面时间 SELECT DATE_FORMAT('2014-3-2','%m/%d/%y'); ==> 03/02/2014 /*日期格式转换
    查看全部
  • 浮点类型 FLOAT DOUBLE(M,D)M>D M数字总数 D小数点后面位数
    查看全部

举报

0/150
提交
取消
课程须知
要想学习本课程,你只需要知道数据库是个什么东东就足够了,是不是很easy?!
老师告诉你能学到什么?
1、MySQL安装与配置 2、数据类型 3、流程控制与运算符 4、DDL、DCL、DQL、DML 5、常用函数 6、表类型(存储引擎) 7、图形化工具
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!