设为首页 收藏本站
查看: 1054|回复: 0

[经验分享] mysql轻快入门(1)

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2018-10-6 13:55:27 | 显示全部楼层 |阅读模式
  学了这么久的mysql,是应该总结一下了!
  什么是mysql呢?
  一个关系型数据库,数据库服务器为我们提供数据存储服务
  常用的数据库服务器:
  商业:oracle, SQLserver,DB2
  开源:MySQL,postgreSQL,SQLite
  到目前为止接触比较多的是mysql,oracle和sqlite(主要是一个小型数据库,因为小可移植性就比较好,因此多用于嵌入式系统中)
  其中,MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。
  目前 MySQL被广泛地应用在Internet上的中小型网站中。
  由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,
  许多中小型网站为了降低网 站总体拥有成本而选择了MySQL作为网站数据库。
  (1)安装mysql
  在window下安装mysql
  step1:运行mysql.....msi
  step2:next next ....
  step3:配置服务,将mysql的bin加入path
  step4:初始化root密码mysql
  step5:net stop mysql
  step6:找到my.ini  改两处编码为gbk
  step7:修改mysql 数据目录
  将原目录下的文件复制到新目录下
  然后才改my.ini中的datadir
  step8:net stop mysql
  net start mysql
  一般比较傻瓜式的安装
  5   权限不够
  whoami
  net user administrator /active:yes
  net stop mysql
  net start mysql
  常用的一些数据库命令:
  登陆mysql
  mysql>mysql -uroot -pmysql
  mysql>mysql -h192.168.149.138 -uroot -pmysql -P3306
  mysql>\q 退出
  show databases;查看mysql服务器管理多少数据库
  create database citest;创建数据库
  show databases;查看mysql服务器管理多少数据库
  use cissst;选择数据
  show tables;查看数据库下有多少表
  select database();查看当前选择的数据库
  select user();查看当前用户
  select @@datadir;查看mysql数据库目
  select @@basedir:查看mysql安装位置
  mysql帮助的用法:
  ? contents;
  先总体看一下,后边细细说
  创建表:
  create table dep(id int not null auto_increment primary key,name varchar(25));
  create table emp(
  id int not null auto_increment primary key,
  dep_id int,
  name varchar(25),
  age int(3) default 18,
  sex enum('M','F') default 'M',
  CONSTRAINT fk_emp_01  FOREIGN KEY(dep_id)REFERENCES dep(id)
  );
  查看表结构:
  desc dep;
  查看创建表语句:
  mysql> show create table dep \G
   1. row
  Table: dep
  Create Table: CREATE TABLE dep (
  id int(11) NOT NULL AUTO_INCREMENT,
  name varchar(25) DEFAULT NULL,
  PRIMARY KEY (id)
  ) ENGINE=InnoDB DEFAULT CHARSET=gbk
  1 row in set (0.00 sec)
  mysql> show create table emp \G
   1. row
  Table: emp
  Create Table: CREATE TABLE emp (
  id int(11) NOT NULL AUTO_INCREMENT,
  dep_id int(11) DEFAULT NULL,
  name varchar(25) DEFAULT NULL,
  age int(3) DEFAULT '18',
  sex enum('M','F') DEFAULT 'M',
  PRIMARY KEY (id),
  KEY fk_emp_01 (dep_id),
  CONSTRAINT fk_emp_01 FOREIGN KEY (dep_id) REFERENCES dep (id)
  ) ENGINE=InnoDB DEFAULT CHARSET=gbk
  1 row in set (0.00 sec)
  对表结构的操作:ddL
  create table stu(id int not null auto_increment primary key,name varchar(25),age int(3) default 22,sex enum('m','f'),birth date);
  增加列
  alter table stu add pro varchar(23) after age;
  alter table stu add pro varchar(23) frist;
  alter table stu add pro varchar(23);
  修改列:
  alter table stu modify pro int default 3;
  对列重命名:
  alter table stu change pro prof varchar(3) default 'art';
  删除列:
  alter table stu drop prof;
  对表重命名:
  alter table stu rename to student;
  drop table stu;删除表
  drop database db_name;删除数据库
  DML:
  insert into student(name,age,sex,birth) values('zhangsan',18,'m',now());
  insert into student set name='lisi',age=22,sex='F',birth='1987-12-2';

  update student set name='lisi',age=22,sex='F',birth='1987-12-2' where>  insert into student values(null,'wangwu',24,'m','1983-01-02'),(null,'lida',26,'f','1984-03-04');

  update student name='lisa' where>
  delete from student where>  select * from student;

  alter table stu2 modify>  insert into stu2(name,age,sex,birth) select name,age,sex,birth from stu2;
  看了这么多,用什么感觉,其实数据库真正的东西无非就这些增删改查,再加一些数据库维护的东西罢了,你也许会反驳我,但这儿只是入门用的
  语法不是重点,但总结一下
  1.
  创建表:
  create table tbName (
  列名称1 列类型 [列参数] [not null default ],
  ....列2...
  ....
  列名称N 列类型 [列参数] [not null default ]
  )engine myisam/innodb charset utf8/gbk
  例子:
  create table user (
  id int auto_increment,
  name varchar(20) not null default '',
  age tinyint unsigned not null default 0,

  index>  )engine=innodb
  注:innodb是表引擎,也可以是myisam或其他,但最常用的是myisam和innodb,
  charset 常用的有utf8,gbk;
  还有另外几种:
  create table stu1 like student;创建stu1表
  create table stu2 select * from student;
  2)
  修改表
  1   修改表之增加列:
  alter table tbName
  add 列名称1 列类型 [列参数] [not null default ] #(add之后的旧列名之后的语法和创建表时的列声明一样)
  2   修改表之修改列
  alter table tbName
  change 旧列名  新列名  列类型 [列参数] [not null default ]
  (注:旧列名之后的语法和创建表时的列声明一样)
  3   修改表之减少列:
  alter table tbName
  drop 列名称;
  4   修改表之增加主键
  alter table tbName add primary key(主键所在列名);
  例:alter table goods add primary key(id)
  该例是把主键建立在id列上
  5   修改表之删除主键
  alter table tbName drop primary key;
  6   修改表之增加索引
  alter table tbName add [unique|fulltext] index 索引名(列名);
  7   修改表之删除索引
  alter table tbName drop index 索引名;
  8   清空表的数据
  truncate tableName;
  3)
  列类型:
  整型:tinyint (0~255/-128~127) smallint (0~65535/-32768~32767) mediumint int bigint (参考手册11.2)
  参数解释:
  unsigned 无符号(不能为负)  zerofill 0填充  M 填充后的宽度
  举例:tinyint unsigned;
  tinyint(6) zerofill;
  数值型
  浮点型:float double
  格式:float(M,D)  unsigned\zerofill;
  字符型
  char(m) 定长
  varchar(m)变长
  text
  列          实存字符i        实占空间            利用率
  char(M)    0

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-613985-1-1.html 上篇帖子: DBA成长之路---mysql主从同步,读写分离 下篇帖子: mysql轻快入门(2)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表