1 lesson02数据库 2 3 4 #视频1 作业 5 6 7 ----------------------------------------------------------------------- 8 #视频2 alter 命令--修改,添加--表的结构 9 修改表名:alter table student rename to new_student; 10 修改字段名:alter table student change id new_id char(10); 11 修改字段类型:alter table student modify new_id char(10); 12 表描述:desc student; 13 14 添加列:alter table student add [column] id_1 varchar(10); 15 添加到第一列:alter table student add [column] id_2 first; 16 字段换位置:alter table student modify id_2 int after age; 17 添加到指定列后:alter table student add id_3 varchar(10) after name; 18 删除列:alter table student drop [column] name; 19 20 #视频2 子查询,连接查询, 21 多张表-子查询, 22 select grade from grades where student_number=(select nunmber from students where name='张三'); 23 24 内连接(交叉连接) --连接查询, 25 select * from a; 26 select * from b; 27 select * from a join b; 28 29 select * from students join grades on students.number = grades.student_number; //join ... on... 格式 30 31 32 #视频3 约束条件 33 跟ppt敲 34 default 默认约束 35 not null 非空约束 36 unique key 唯一约束 37 primary key 主键约束 =非空+唯一 ,每张表只能有一个主键 38 auto_increment 自增长 ,通常配合主键使用,一个表里只有一个自增。 39 foreign key 外键约束 //保持数据一致性,实现一对多关系。一般情况是关联到另一张表的主键 40 a表中id是b表中id的外键,那么增加数据时,先填加a中id,才能填加b中和ad表id相同的数据。 41 删除数据时,先删除b中id,然后才能删除a表中的id 42 43 //表a 44 create tabe a( 45 a_id int primary key auto_increment, 46 a_id2 int unique key, 47 name varchar(20) not null, 48 age int default 18)auto_increment=100; //年龄默认18 ,姓名非空,id_1 主键, id自增长 49 50 //表b 51 create table b( 52 b_id int auto_increment, 53 b_name varchar(20), 54 constraint AB_foreign foreign key(b_id) references a(a_id); 55 56 57 desc a; 58 insert into a(name) values('句号'),('南北'),('不懂'); 59 alter table a modify age int default 20; //修改年龄默认20 60 alter table a modify age int; //删除default约束 61 62 insert into a value(1,'zhaosi',19); 63 alter table a modify id int not null; //修改id非空 64 alter table a modify id int; //删除非空约束 65 66 insert into a value(2,'lisi',20); 67 alter table a modify name varchar(20) unique; //添加唯一约束 68 alter table a drop key name; //删除唯一约束 69 70 alter table a drop primary key; //删除主键约束 71 alter table a add primary key(a_id); //添加主键约束 72 73 alter table a modify id int; //删除自动增长 74 alter table a modify id int auto_increment; //添加自动增长 75 76 alter table b add constraint AB_foreign foreign key(b_id) references a(a_id); //添加外键 77 alter table b drop foreign key AB_foreign; //删除外键 78 79 80 81 //视频4 用户和编码 82 83 mysql支持事务 84 原子性:所做操作要么完成,要不完成,不会执行过程终止 85 一致性:执行操作前和操作后,数据完整性没有破坏 86 隔离性:同时读写修改同一个数据,保证数据的一致性 87 持久性:对数据的修改时持久的,即使系统破坏数据也不会消失 88 89 begin //记录开始 90 rollback //回溯到记录开始 91 commit //提交操作 92 93 show create table student; //显示表信息 94 95 1编码问题 96 create database juhao character set gbk; //创建数据库自定义编码 97 create table student(id int)charset utf8; //创建数据表自定义编码 98 99 2,编码问题-在vim配置 //看ppt 100 vim /etc/mysql/mysql.conf.d/mysqld.cnf 101 102 default -character -set =utf8 103 104 character -set -server=utf8 105 106 重启数据库:sudo service mysql restart 107 108 109 3,远程连接-配置 110 vim /etc/mysql/mysql.conf.d/mysqld.cnf 111 第一:修改监听ip 112 bind 0.0.0.0 113 第二步:给用户添加远程访问权限 114 update user set host ='%' where user='root'; 115 第三步:重启数据库 116 sudo service mysql restart 117 118 远程连接 119 user juhao; 120 select user,host from mysql.user; 121 122 123 124 4用户权限 /root账号权限太大,一般只在管理数据库的时候,一般项目都是创建一个用户去操作 125 create user 'juhao'@'%' identified by '19921019'; //创建用户 126 127 grant usage,select on *.* to juhao@’%‘ identified by '19921019'; //数据库用户权限设置 128 129 取消用户授权: 130 revoke privilege on databasename.tablename from 'username'@'%'; 131 132 exit 133 sudo service mysql restart; //重启数据库 134 mysql -ujuhao -p19921019; //登陆普通用户账号 135 136 常用权限: 137 all 允许做任何事情 138 usage 只允许登陆 139 alter 修改已经存在的表 140 create 创建表或库 141 select 查找数据 142 update 修改数据 143 insert 增加表的记录 144 delete 删除表的记录 145 drop 删除库或表
2-数据库mysql
猜你喜欢
转载自www.cnblogs.com/tiantiancode/p/12900187.html
今日推荐
周排行