zoukankan      html  css  js  c++  java
  • MySQL学习笔记

    mysql 基础学习
    一切换数据库和显示数据表名
    use 数据库
    显示表
    show tables

    二查看表结构
    1第一种方法
    desc 表名
    2第二种方法
    show columns from 表名

    三查看表索引
    show index from 表名

    四创建表
    create table table面(
    uid int UNSIGNED auto_increment,
    uname varchar(100) not null,
    primary key(uid)
    ) engine=innodb default charset=utf8;

    五 删除表
    drop table 表名

    六操作
    查询 select * from 表名 where 查询条件
    添加 insert into 表名(字段) values(数值)
    修改 update 表名 set 字段 =值 where 查询条件
    删除 delete 表名 where 查询条件

    七 空数据处理
    我们可以使用 coalesce 来设置一个可以取代 NUll 的名称,coalesce 语法:
    select coalesce(null,'b','c');#返回b
    select coalesce(null,null,'c'); #返回c
    select coalesce('a','b','c');#返回a
    参数说明:如果a==null,则选择b;如果b==null,则选择c;如果a!=null,则选择a;如果a b c 都为null ,则返回为null(没意义)。
    mysql> SELECT coalesce(name, '总数')'总数', SUM(singin) as singin_count FROM employee_tbl GROUP BY name WITH ROLLUP;
    +--------+--------------+
    | 总数 | singin_count |
    +--------+--------------+
    | 小丽 | 2 |
    | 小明 | 7 |
    | 小王 | 7 |
    | 总数 | 16 |
    +--------+--------------+
    可以用于统计汇总

    八 null 值处理
    查询条件 is not null 或 is null
    在 MySQL 中,NULL 值与任何其它值的比较(即使是 NULL)永远返回 NULL,即 NULL = NULL 返回 NULL 。
    MySQL 中处理 NULL 使用 IS NULL 和 IS NOT NULL 运算符。
    对于 null 使用 = 或!= 都是不起作用的

    九MySQL中的正则表达式
    找name字段中以'st'为开头的所有数据:

    mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
    查找name字段中以'ok'为结尾的所有数据:

    mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
    查找name字段中包含'mar'字符串的所有数据:

    mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
    查找name字段中以元音字符开头或以'ok'字符串结尾的所有数据:

    mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';

    #以客开头的
    SELECT * from gen_table_column where column_comment REGEXP '^客';

    #以名结尾的
    SELECT * from gen_table_column where column_comment REGEXP '名$';

    #包含户的
    SELECT * from gen_table_column where column_comment REGEXP '户';

    #以客开头或以名称结尾的
    SELECT * from gen_table_column where column_comment REGEXP '^客|名称$';

    十事务
    MySQL 事务主要用于处理操作量大,复杂度高的数据
    一般来说,事务是必须满足4个条件(ACID)::
    原子性(Atomicity,或称不可分割性)、
    一致性(Consistency)、
    隔离性(Isolation,又称独立性)、包括读未提交(Read uncommitted)、读提交(read committed)、可重复读(repeatable read)和串行化(Serializable)。
    持久性(Durability)。

    BEGIN 或 START TRANSACTION 显式地开启一个事务;

    十一 MySQL中修改命令alter
    #添加字段并设置默认值
    ALTER table t3 add address VARCHAR(100) not null default 'hello'
    ALTER table t3 add age int not null default 18
    ALTER table t3 add score int

    #删除字段
    alter table t3 drop age

    #修改字段大小
    alter table t3 modify address varchar(200)

    #修改字段为名称为新的名称
    ALTER table t3 change address newaddress VARCHAR(100)

    #修改默认值
    ALTER table t3 alter age set default 21

    #修改有默认值
    ALTER table t3
    MODIFY score int default 60;

    #删除默认值
    ALTER table t3 alter age drop default

    十二 MySQL索引
    #创建索引
    create index index_name on 表名(列)
    #修改表结构添加索引
    ALTER table tableName ADD INDEX indexName(columnName)
    #创建唯一索引
    CREATE UNIQUE INDEX indexName ON mytable(username(length))
    #删除索引
    alter table 表名 drop index 索引名

    十三 MySQL 复制表
    显示创建表的语句 show create table 表名
    #复制表结构
    CREATE TABLE targetTable LIKE sourceTable;
    #复制表数据
    INSERT INTO targetTable SELECT * FROM sourceTable;

    #复制表部分字段和值
    CREATE TABLE newadmin AS
    (
    SELECT username, password FROM admin
    )

    #复制表部分字段并改变名称
    CREATE TABLE newadmin AS
    (
    SELECT id, username AS uname, password AS pass FROM admin
    )

    #复制表结构并拷贝部分数据
    CREATE TABLE newadmin AS
    (
    SELECT * FROM admin WHERE LEFT(username,1) = 's'
    )
    #复制表结构,拷贝数据,并调整字段
    CREATE TABLE newadmin
    (
    id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY
    )
    AS
    (
    SELECT * FROM admin
    )

    十三 MySQL临时表
    当关闭连接时,Mysql会自动删除表并释放所有空间。
    create temporary table 表名(uid int ,uname varchar(100))

  • 相关阅读:
    自食其力!ASP.NET 4打造HTML5视频控件
    delphi 拖放操作http://topic.csdn.net/t/20030306/10/1497344.html?1026446129
    delphi开发的小技巧http://www.cto360.com/a/5000086716.shtml
    TThread 类 详细解析 (原帖 华夏黑客同盟)http://www.cppblog.com/Khan/archive/2006/11/21/15503.html
    delphi 多线程同步 互斥变量,信号量,事件对象。http://www.bianceng.cn/Programming/Delphi/200912/12689.htm
    如何利用socket进行HTTP访问http://blog.csdn.net/sanfengshou/archive/2011/03/07/6228250.aspx
    TCP, Scoket, HTTP
    Delphi开发嵌入式IE浏览器监控程序http://www.pasou.cn/edu/html/List3899_3.html
    Delphi实现网络蚂蚁和FlashGet的悬浮窗口,拖动
    delphi调用C#写的web服务例子(重点 InvRegistry.RegisterInvokeOptions(TypeInfo(ServiceSoap), ioDocument);)
  • 原文地址:https://www.cnblogs.com/xiaohuasan/p/14842144.html
Copyright © 2011-2022 走看看