zoukankan      html  css  js  c++  java
  • MySQl数据库常用的DOS命令

    MySQl数据库常用的DOS命令、、

    这是第一部分、、


    数据库的连接信息:
    jdbc:mysql://localhost:3306/shxt
    com.mysql.jdbc.Driver


    /*
    jdbc:sqlserver://localhost:1433;DatabaseName=Student
    com.microsoft.sqlserver.jdbc.SQLServerDriver
    */


    /----------
    登录mySQL:

    mysql -u root -p

    然后Enter一下,

    show databases;

    然后Enter一下,

    create database num1;

    创建了一个数据库 叫num1,

    drop database num1;

    删除了一个数据库叫num1,

    /----------------
    mysql> create table num2(
    -> id int(3),
    -> name char(10),
    -> address varchar(50),
    -> year date
    -> );
    然后Enter一下,就创建了一个数据库表,
    /------------
    use school; // 打开库SCHOOL
    create table teacher( // 建立表TEACHER
    id int(3) auto_increment not null primary key,
    name char(10) not null,
    address varchar(50) default ''深圳'',
    year date
    ); // 建表结束
    /---------------------
    重命名表:

    mysql > alter table t1 rename t2;

    获取数据表结构。
    mysql> desc MyClass;
    mysql> show columns from MyClass;

    删除表名为 MyClass 的表:
    mysql> drop table MyClass;

    向表中插入数据。
    mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);

    查看表 MyClass 中所有数据:
    mysql> select * from MyClass;

    查看表 MyClass 中前2行数据:
    mysql> select * from MyClass order by id limit 0,2;

    删除表 MyClass中编号为1 的记录:
    mysql> delete from MyClass where id=1;

    update set命令用来修改表中的数据。
    mysql> update MyClass set name='Mary' where id=1;

    在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0:
    mysql> alter table MyClass add passtest int(4) default '0';

    在表MyClass名字更改为YouClass:
    mysql> rename table MyClass to YouClass;

    /---------------------
    数据库中的数据类型:
    int

    point

    set

    varbinary

    enum

    text

    datetime

    timestamp

    year

    time

    date

    varchar

    char

    decimal

    float

    double

    bit

    integer

    int
    /----------------

     这是第二部分、、

    -------
    删除表,
    use 数据库;
    show tables;
    drop table 表名;

    -------------------
    MySQL_CMD命令:
    mysql -u root -p

    输入 exit 或 quit 退出登录

    create database 数据库名 ;

    show databases; 命令查看已经创建了哪些数据库

    use 数据库名;打开某个数据库,

    CREATE TABLE `authors` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `email` varchar(100) NOT NULL,
    `name` varchar(100) NOT NULL,
    PRIMARY KEY (`id`),
    UNIQUE KEY `email` (`email`)
    ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

    在打开的数据库中创建一个数据表,

    desc authors;
    查看数据表的结构,

    select * from authors;

    insert into authors (id, email,name) values(1, "女", "孙丽华");
    向表中插入数据,

    select id from authors ;
    查询 表中所有的id

    select * from students where sex="女";

    select * from students where age > 21;

    select * from students where name like "%王%";

    select * from students where id<5 and age>20;

    update students set age=age+1;

    update students set name="张伟鹏", age=19 where tel="13288097888";

    删除id为2的行: delete from students where id=2;

    删除所有年龄小于21岁的数据: delete from students where age<20;

    删除表中的所有数据: delete from students;

    在表的最后追加列 address: alter table students add address char(60);

    在名为 age 的列后插入列 birthday: alter table students add birthday date after age;

    将表 tel 列改名为 telphone: alter table students change tel telphone char(13) default "-";

    将 name 列的数据类型改为 char(16): alter table students change name name char(16) not null;

    删除 birthday 列: alter table students drop birthday;

    重命名 students 表为 workmates: alter table students rename workmates;

    示例: 删除 workmates 表: drop table workmates;

    示例: 删除 samp_db 数据库: drop database samp_db;

    -----------
    修改 root 用户密码
    使用 mysqladmin 方式:

    打开命令提示符界面, 执行命令: mysqladmin -u root -p password 新密码

    执行后提示输入旧密码完成密码修改, 当旧密码为空时直接按回车键确认即可。
    ---------
    CREATE TABLE tutorials_tbl(
    tutorial_id INT NOT NULL AUTO_INCREMENT,
    tutorial_title VARCHAR(100) NOT NULL,
    tutorial_author VARCHAR(40) NOT NULL,
    submission_date DATE,
    PRIMARY KEY ( tutorial_id )
    );
    -----------
    INSERT INTO tutorials_tbl (tutorial_title, tutorial_author, submission_date) VALUES ("Learn PHP", "Yiibai", NOW());

    ---------
    1.选择数据库

    >use 数据库名;

    2.查询所有数据表
    >show tables;

    3.查询表的字段信息
    >desc 表名称;
    ----------
    5.向一个表中增加一个列做为主键
    alter table table_name add column column_name type auto_increment PRIMARY KEY;

    例如:alter table book add column id int(10) auto_increment PRIMARY KEY;
    ----------
    create database example;
    创建一个数据库

    drop database example;
    删除一个数据库

    ----
    show engines;
    MySQL中查询存储引擎的类型命令:

    ----
    CREATE TABLE student (
    id int,
    name varchar(20)
    );
    ------------
    CREATE TABLE student1 (
    id int PRIMARY KEY,
    name varchar(20)
    );
    设置表的主键
      单字段主键格式:属性名 数据类型 PRIMARY KEY
    ----------
    CREATE TABLE student2 (
    id int,
    stu_id int,
    name varchar(20),
    PRIMARY KEY(id,stu_id)
    );
    设置表的主键
    多字段主键格式:PRIMARY KEY(属性名1,属性名2....属性名n)
    ---------
    CREATE TABLE teacher (
    id int PRIMARY KEY,
    stu_id int,
    name varchar(20),
    CONSTRAINT STUID FOREIGN KEY(stu_id) REFERENCES student1(id)
    );
    3)设置表的外键
      格式:CONSTRAINT 外键别名 FOREIGN KEY(属性1,属性2,....属性n) REFERENCES 表名(属性1',属性2',...属性n')
    -------------
    CREATE TABLE student3 (
    id int PRIMARY KEY AUTO_INCREMENT,
    teacher_id int UNIQUE,
    name varchar(20) NOT NULL,
    sex varchar(10) DEFAULT 'male'
    );

    4)设置表的非空约束
      简单的说就是不让这个属性的值为空,不填的话就会报错
      格式:属性名 数据类型 NOT NULL


      5)设置表的唯一性约束
      就是这个属性的值是不能重复的
      格式:属性名 数据类型 UNIQUE

      6)设置表的属性值自动增加
      AUTO_INCREMENT约束的字段可以是任何整数类型(TINYINT、SMALLINT、INT和BIGINT),在默认的情况下,该字段的值是从1开始自增
      格式:属性名 数据类型 AUTO_INCREMENT


      7)设置表的属性的默认值
      格式:属性名 数据类型 DEFAULT 默认值
    ------------
    查看表结构
    desc student3;
    格式:DESCRIBE 表名;
    -----
    查看表的详细结构
    SHOW CREATE TABLE student3;
    格式:SHOW CREATE TABLE 表名;
    -------
    ALTER TABLE student RENAME student4;
    1)修改表名
    格式:ALTER TABLE 旧表名 RENAME 新表名;
    -----------
    ALTER TABLE teacher DROP FOREIGN KEY STUID;
    7)删除表的外键约束
      格式:ALTER TABLE 表名 DROP FOREIGN KEY 外键别名;
    ----------
    删除被其他表关联的父表:
      方法一:先删除子表,在删除父表

      方法二:删除父表的外键约束(上面有介绍),再删该表
    --------
    SHOW FULL COLUMNS from teacher;
    查看表所有的列:
    ----- 

     这是第三部分、、

    select database();
    select命令表示当前选择(连接)的数据库。
    -----
    select version();
    显示MYSQL的版本
    ----
    select now();
    显示当前时间
    ----
    SELECT DAYOFMONTH(CURRENT_DATE);
    显示日
    ----
    SELECT MONTH(CURRENT_DATE);
    显示月份
    ----
    SELECT YEAR(CURRENT_DATE);
    显示年
    -----
    SELECT "welecome to my blog!";
    显示字符串
    ----
    select ((4 * 4) / 10 ) + 25;
    当计算器用
    -----
    create table MyClass(
    id int(4) not null primary key auto_increment,
    name char(20) not null,
    sex int(4) not null default '0',
    degree double(16,2));

    创建数据表:
    ------------------
    select * from MyClass order by id limit 0,2;
    查看表 MyClass 中前2行数据:
    -------
    create table teacher(
    id int(3) auto_increment not null primary key,
    name char(10) not null,
    address varchar(50) default "深圳",
    year date
    );

    创建数据表
    ----------------

    第四部分、、

    7、说明:添加主键: Alter table tabname add primary key(col)
    说明:删除主键: Alter table tabname drop primary key(col)

    基本的sql语句
    选择:select * from table1 where 范围
    插入:insert into table1(field1,field2) values(value1,value2)
    删除:delete from table1 where 范围
    更新:update table1 set field1=value1 where 范围
    查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料!
    排序:select * from table1 order by field1,field2 [desc]
    总数:select count as totalcount from table1
    求和:select sum(field1) as sumvalue from table1
    平均:select avg(field1) as avgvalue from table1
    最大:select max(field1) as maxvalue from table1
    最小:select min(field1) as minvalue from table1

    left join:
    (左连接):结果集包括连接表的匹配行,也包括左连接表的所有行。

    right join:
    (右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。

    full join:
    全连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。

    ----------------
    多张表的Inner join
    多表INNER JOIN多表查询
    SELECT t1.xxx, t2.xxx, t3.xxx
    FROM (table1 t1
    INNER JOIN table2 t2 ON t1.fid = t2.fid)
    INNER JOIN table3 t3 ON t1.mid = t3.mid;
    这里使用了3表关联,对于多表关联的 INNER JOIN 写法有一个技巧
    1). 先写最简单的2表关联 INNER JOIN
    2). 然后使用 () 从 FROM 之后到语句结尾全部扩起来
    3). 在语句结尾开始连接与下一个表的 INNER JOIN
    记住这个原则,未来进行4表关联,5表关联就都不是什么难事了

    -------------------
    跨越多个表查询数据
    FROM (((表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号) INNER JOIN 表4 ON Member.字段号=表4.字段号) INNER JOIN 表X ON Member.字段号=表X.字段号,只要套用该格式就可以了。


    --------------------
    连接两个数据表的用法:

    FROM 表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号
    --------------------
    连接三个数据表的用法:

    FROM (表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号

    --------------------

    连接四个数据表的用法:

    FROM ((表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号) INNER JOIN 表4 ON Member.字段号=表4.字段号

    --------------------
    连接五个数据表的用法:

    FROM (((表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号) INNER JOIN 表4 ON Member.字段号=表4.字段号) INNER JOIN 表5 ON Member.字段号=表5.字段号

    --------------------
    前10条记录
    select top 10 * form table1 where 范围
    --------------------
    随机取出10条数据
    select top 10 * from tablename order by newid()
    --------------------
    列出数据库里所有的表名
    select name from sysobjects where type='U' // U代表用户
    --------------------
    列出表里的所有的列名
    select name from syscolumns where id=object_id('TableName')
    --------------------
    在SQL语句组合时
    “where 1=1” 是表示选择全部 “where 1=2”全部不选,
    --------------------
    搜索:开头到N条记录
    Select Top N * From 表
    --------------------
    获取当前数据库中的所有用户表
    select Name from sysobjects where xtype='u' and status>=0
    10:获取某一个表的所有字段
    select name from syscolumns where id=object_id('表名')
    --------------------
    查看当前数据库中所有存储过程
    select name as 存储过程名称 from sysobjects where xtype='P'
    --------------------
    查询某一个表的字段和数据类型
    select column_name,data_type from information_schema.columns where table_name = '表名'
    --------------------

    -------------

    ---------------

    -------------

  • 相关阅读:
    socket的半包,粘包与分包的问题
    /dev/tty /dev/ttyS0 /dev/tty0,/dev/null区别
    23种设计模式小结
    嵌入式试题
    怎样给filter加入自己定义接口及调用
    实现Launcher默认壁纸、选择壁纸定制化功能
    javascript中的稀疏数组(sparse array)和密集数组
    【Linux学习】Linux的文件权限(一)
    HDU--5280(dp或枚举)
    UISegmentedControl UISlider
  • 原文地址:https://www.cnblogs.com/GaoNa/p/9495413.html
Copyright © 2011-2022 走看看